Commit Graph

2427 Commits

Author SHA1 Message Date
Robert Osfield
213a370c25 Added new setFont(ref_ptr<>) variants to Text and Text3D 2007-12-12 17:48:20 +00:00
Robert Osfield
256391c3b4 From Serge Lages, introduce readRef*File() methods which pass back ref_ptr<> rather than C pointers. 2007-12-12 17:04:48 +00:00
Robert Osfield
88f3a864ac Updated copyright notices 2007-12-12 16:56:28 +00:00
Robert Osfield
6bb7935dea From Andy Skinner, build fixes for Solaris. 2007-12-12 16:55:13 +00:00
Robert Osfield
6ca74544bc Added const to operators. 2007-12-12 10:47:58 +00:00
Robert Osfield
1c2726fd07 From Paul Martz, "Function declaration returns a bool, function body was returning a pointer. Changed body to return (pointer != NULL)." 2007-12-12 09:45:29 +00:00
Robert Osfield
ffab16ba2f From Karl Heijdenberg, moved set/getFrameStamp() from osgViewer::View to osg::View. 2007-12-11 16:34:37 +00:00
Robert Osfield
be5f709bdb From Mike Garrity, "There was an on again/off again thread on OSG users about
creating subclasses of osg::Array that referenced data
stored an application's internal data structures. I took
a stab at implementing that and ran into a couple of
downcasts in Geometry.cpp. Enclosed is my take at fixing
those along with a simple example of how to do this."
2007-12-11 15:55:02 +00:00
Robert Osfield
640999dea6 From Tim More, "This submission tries to optimize redundant compilation of StateSets and Drawables
in the DatabasePager. The practical effects of these are to greatly reduce startup time
and the time to load an individual scenery tile in FlightGear.

- From my log message:

   Minimize the number of StateSets and drawables that are compiled by checking
   if they have already been compiled or will be elminated by the
   SharedStateManager.

   Move the sorting of the dataToCompile queue out of compileGLObjects
   into the man pager run function.

   Change the SharedStateManager to use maps instead of vectors."
2007-12-11 12:32:31 +00:00
Robert Osfield
298e07fc72 From Mathias Froechlich, "I have extended the StateSet api with a
StateSet::removeAssociatedModes(const StateAttribute*)

and a

StateSet::removeAssociatedTextureModes(unsigned, const StateAttribute*)

call. These funktions are just missing for a complete api IMO."
2007-12-11 11:42:02 +00:00
Robert Osfield
b467fdeb6c From Alberto Luaces, "it seems that include/osgParticle/BoxPlacer was created from the SectorPlacer
file. The code works well but the SectorPlacer comments stayed in the new
file. I have altered those comments so they now contain valid information for
the BoxPlacer class and the doxygen generated documentation is correct.

"
2007-12-11 11:37:03 +00:00
Robert Osfield
4e5ce63c85 From Per Fahlberg, "Attached is a fix allowing removal of shaders from a program after it is
first compiled. It will also allow new shaders to be attached after the
program is first compiled."
2007-12-11 11:21:13 +00:00
Robert Osfield
c5704586f9 From Richard Schmidt, "attached you will find a set of small fixes and features.
CullVisitor/SceneView:

*Feature: This version supports multiple clearnodes in the graph, one per renderstage.

 

Text:

*Feature: Performance Enhancement when calling SetBackdropColor

 

Material:

*Fix: OpenGL calls are now made according to the OpenGL Standard

"
2007-12-10 20:30:05 +00:00
Robert Osfield
eef88e7e83 From David Callu, Text3D 2007-12-10 19:49:17 +00:00
Robert Osfield
f4afa427a7 From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
Robert Osfield
f69a48e552 From David Callu, added support of 3D text to osgText and associated plugins. 2007-12-10 15:15:56 +00:00
Robert Osfield
9946cb3b24 Added export macro for windows build 2007-12-10 11:20:22 +00:00
Robert Osfield
457d3fd7e4 Removed redundent OpenFlightOptimizer 2007-12-09 16:23:19 +00:00
Robert Osfield
78c1fd4844 From David Callu, added DBase attribute support for shapefiles 2007-12-09 15:43:49 +00:00
Robert Osfield
5e6bab7de1 Updated wrappers 2007-12-09 14:54:02 +00:00
Robert Osfield
65bef96a6e From Peter Hrenka, "Due to popular demand I would like to submit this
enhanced version of PolytopeIntersector.


New features of PolytopeIntersector :

* Dimension mask: The user may specify the dimensions of the
   primitives to be tested. Checking polytope-triangle and
   polytope-quad intersections is rather slow so this can
   be turned off.
* Reference plane: The resulting intersections are sorted
   by the distance to this plane.

New memebers of PolytopeIntersector::Intersection :

* distance: Distance of localIntersectionPoint to the reference plane
* maxDistance: Maximum distance of all intersectionPoints to the
   reference plane.
* intersectionPoints: The points intersecting the planes of the polytope
   or points completely inside the polytope.
* localIntersectionPoint: arithmetic mean of all intersection points
* primitiveIndex: Index of the primitive that intersected


I added some more output to the example osgkeyboardmouse."
2007-12-08 16:37:05 +00:00
Robert Osfield
13e8af6305 From Robert Osfield and Richard Schmidt, made fixes inspired by an original submission from Richard which
highlighted problems with Light, ClipPlane and Hint usage in osg::State's usage of cloneType
and reassignment of target/num in StateSet/these StateAttributes.
2007-12-08 13:29:31 +00:00
Robert Osfield
b7881943d4 From Serge Lages, "Here are some modifications to the DatabasePager, with the possibility to :
- Get or set the target number of PagedLOD children to remove per frame.
- Get or set the minimum number of inactive PagedLOD to keep.

Corresponding environment variables have been added too.
The default values reproduce the previous DatabasePager behavior."
2007-12-06 17:31:00 +00:00
Robert Osfield
6c09a22957 From Cedric Pinson, fixes for toggle fullscreen on gnome desktop 2007-12-06 17:28:29 +00:00
Robert Osfield
1b1c5bbdd1 Added support for new double Vec*Array classes in various functors. 2007-12-04 14:46:46 +00:00
Robert Osfield
a909a62b85 Added double Vec*Array support 2007-12-04 14:44:21 +00:00
Robert Osfield
6cd4cc682c Fixed the Polytop::setFrustum and setBoundingBox method 2007-12-01 15:30:35 +00:00
Robert Osfield
316b36fab7 Added getColor method to allow easy reading of individual pixels. 2007-10-31 12:55:15 +00:00
Robert Osfield
3882ad034c From Mathias Froehlich, "since we patched our hp to an other patchlevel, I need the following to
include/osg/Texture"
2007-10-05 10:46:46 +00:00
Robert Osfield
b62716d679 Added asView() method to GUIActionAdapter to help out with .NET wrappers. Updated wrappers 2007-10-04 11:20:18 +00:00
Robert Osfield
146c140be1 Updated version for 2.2 release 2007-10-04 10:05:20 +00:00
Robert Osfield
28438c5dbf Updated version for 2.1.15 dev release 2007-10-03 23:27:59 +00:00
Robert Osfield
73b5712a7a Added GLU_TESS_CALLBACK_TRIPLEDOT path into include/osg/GLU and enabled this
for AIX as reading the old paths this was required.  This looks like it is needed
under Xcode build as well.
2007-10-03 20:21:01 +00:00
Robert Osfield
5fe003d1a2 Updated version, authors and change log for the 2.1.14 release 2007-10-03 12:49:02 +00:00
Robert Osfield
1dc06b4553 From Mihair Radu, "Most of the additions are small utility methods:
- set the resolution of the shadow map; it calls dirty() to
re-initialize at next update
- keep a list of Shader objects to use instead of the default ones, if
the list is empty, the default shaders are used
- explicitly create the Uniform variables, so that subsequent additions
that require more Uniforms can put them in a central place
- set a Light or LightSource to use explicitly for shadow casting,
allows multiple lights in the scene, with one casting shadows

There are two additions that do not ( yet ) function correctly, but in
the present usage they do not interfere with the regular usage of the
techique:
- support for using spotlights, it's using Light.spotCutoff to determine
if it's a spot-light and not point-light,
   there is an error in the setup of either the shadow camera or the
texgen, most likely due to the direction of the spotlight, since the
position is being used just like in point or directional lights.
- creation of a debugHUD
   the hud is created properly, ( the example included shows it ), but
it displays only white, there has been some discussion of displaying the
shadow map, but I could not find it, the addition of a simple fragment
shader with the appropriate color transform should get this going."
2007-10-02 21:45:09 +00:00
Robert Osfield
caeed02f52 Merged the threading set up and rendering code from Viewer and CompositeViewer
into ViewerBase to allow CompositeViewer to inherit the same theading models
previously just supported by osgViewer::Viewer
2007-10-02 21:23:58 +00:00
Robert Osfield
f6c5cd184a Changed the GLU_TESS_CALLBACK in an attempt to avoid compile problems under OSX. 2007-10-02 20:54:12 +00:00
Robert Osfield
d32effbdbc Updated Version number for 2.1.13 and updated ChangeLog. 2007-10-01 10:21:52 +00:00
Robert Osfield
7086aeeebc Removed log2 and replaced the places where is was used with a new Image::computeNumberOfMipmapLevels method. 2007-10-01 08:50:58 +00:00
Robert Osfield
38d33c7685 From Paul Martz, "here's the osgDB::Registry changes to add Options to the read*File() interface. As we discussed, this preserves the old interface for backwards compatibility.
osgconv also changed to use the new Registry::writeNode() interface. No other applications or examples were affected."
2007-09-30 19:53:02 +00:00
Robert Osfield
4cf73d4c87 Changed HelpHandler so it supports use with CompositeViewer and Viewer 2007-09-30 19:15:32 +00:00
Robert Osfield
40ded29902 From Dan Minor, "osgText::Text does not currently have a getAxisAlignment method. The
attached code adds this, along with a member variable to keep track of
the setting.  It is based on the latest subversion version, and was
tested by creating a new text object with the same axis alignment as an
existing one (e.g.
new_text->setAxisAlignment(old_text->getAxisAlignment()); )."

From Robert Osfield, " I originally didn't add a getAxisAlignment()
as all setAxisAlignment does is set the Rotation member variable, and
potentially one could apply user defined Rotation setting after the
setAxisAlignment() which would bring it out of sync with the
setAxisAlignment.

Rather than reject your submission on the ground of potentially
getting out of sync and therefore misleading users I've added a
USED_DEFINED_ROTATION to AxisAlignment enum, and set this in the
serRotation and then override this setting of _axisAlignment in the
setAxisAlingment method.  I've also removed the lazy updating
optimization you've added to the top of setAxisAlignment to avoid
potential problems as well."
2007-09-30 15:06:59 +00:00
Robert Osfield
91900254f0 Moved ViewerBase class out into its own header and source file.
Improved the support for stats collection in CompositeViewer/StatsHandler.
2007-09-30 11:37:00 +00:00
Robert Osfield
f8729af8b2 Refactor Viewer/CompositeViewer so the both inherit from the a ViewerBase class 2007-09-29 16:46:08 +00:00
Robert Osfield
4ef1864432 From Stephan Huber, add basic support for CompositeViewer in StatsHandler 2007-09-29 11:41:57 +00:00
Robert Osfield
41ce67600e From Mattias Linde, "Nice, this almost gets the job done, one way communication into the plugin is possible.
I've done some additional small modification regarding constness in ReaderWriter and added
mutable on _pluginData so passing data back would be possible too.

Have updated the collada plugin (ReaderWriterDAE.cpp) to use the map to handle options and
have attached the changes.

The stuff in daeReader.h and daeWriter.h are just cosmetic changes to get rid of a warning."
2007-09-29 11:12:38 +00:00
Robert Osfield
9aab68b140 From Mattias Linde, "I've attached a modified ReaderWriter header which has some additions
to osgDB::ReaderWriter::Options to handle PluginData."
2007-09-28 13:35:51 +00:00
Robert Osfield
1df542c119 Andre Garneau, three fixes in one submissions:
"This is a fix for the issue reported by Anders a week ago (see \u201c[osg-users] BUG?: mouse coordinate changes after window move\u201d discussion thread on Sept. 20). The issue was that the initial implementation added a few months back was not converting the window coordinates to client-area coordinates resulting in a slight offset each time a decorated window was moved (caused by the window border). This was also causing windows to move out of their assigned screen."

and

"Attached is a fix for the taskbar repaint issue that occurs when a graphics window is toggled from full-screen mode to windowed mode (as identified by Gert van Maren a couple of weeks ago).
Also included is a fix derived from the \u201cEvents from the past\u201d discussion thread that took place on July 11."
2007-09-28 08:53:34 +00:00
Robert Osfield
6df0110d0c From Adrian Egli, "update the PSSM, i did some bug fixes and added new features to move the camera virtual against the view direction by applaying a simple distance factor (a), which is calculated camera eye - camera center distance. and we can move the "light camera" against the light direction (b).
(a) some objects behind the camera can cast shadow
(b) object aboive the camera can cast shadow

then i fixed the shadow map orientation, now screen x coordinate alinged which improve the quality"
2007-09-27 12:47:34 +00:00
Robert Osfield
2640fd1456 Added IntensityMap reading in .view files 2007-09-26 14:02:40 +00:00
Robert Osfield
18ad07160d From David Callu, adding support for GraphicsWindowX11 window inhertance and
setWindowName() method.
2007-09-26 09:50:32 +00:00
Robert Osfield
6d822cbf45 Updated Version and AUTHORS for 2.1.12 dev release 2007-09-24 16:34:28 +00:00
Robert Osfield
d11d5b819a From Adrian Egli, further work on PSSM implementation. 2007-09-24 15:24:23 +00:00
Robert Osfield
a4f79e7a37 From Alberto Luaces, fixed typo of valid() in warning message 2007-09-24 10:36:39 +00:00
Robert Osfield
cf2c9da74d Made ReaderWriter and ReaderWriter::Options use thread safe ref counting. 2007-09-24 09:05:42 +00:00
Robert Osfield
da70320707 From David Callu, added getOrCreateScene method, made contractors protected.
From Robert Osfield, made getOrCreateScene protected and made View a friend
of Scene to all it to construct Scene objects itself.
2007-09-22 16:50:45 +00:00
Robert Osfield
82b0f004e9 From Adrian Egli, update to ParallelSplitShadowMap. 2007-09-22 16:46:38 +00:00
Robert Osfield
1dc8983a76 Added EXPORT 2007-09-22 13:06:07 +00:00
Robert Osfield
5c36fbb18f From David Callu, added findSlaveIndexForCamera method 2007-09-21 19:43:06 +00:00
Robert Osfield
3bfaee3654 Added support for basic viewer configuration files 2007-09-21 15:34:25 +00:00
Robert Osfield
ece7b57df2 Further steps towards reading coniguration files. 2007-09-21 13:30:33 +00:00
Robert Osfield
55a9ea19d7 From Anders Backman, added bias and texture size methods.
From Robert Osfield, tweaks to the above for method parameters and indenting.
2007-09-20 10:12:58 +00:00
Robert Osfield
7ea3632dfc Added support for bool in ArgumentParser::Parameter.
Added support for using Input::read(...) methods using ArgumentParser::Paramter
to adapter to multiple paramter types.
2007-09-19 15:29:57 +00:00
Robert Osfield
cf69352873 From Adrian Egli, ParallelSplitShadowMap implmentation.
Changes by Robert Osfield - CMakeLists.txt and name change to ParallelSplitShadowMap.
2007-09-19 11:56:44 +00:00
Robert Osfield
acfa793032 Updated version numbers for 2.1.11 dev release 2007-09-17 09:26:02 +00:00
Robert Osfield
ae5883dd23 Fixed Locator::setTransform method so it takes a const Matrixd&, and improved
the setting of Locator in the gdal plugin.
2007-09-16 17:48:07 +00:00
Robert Osfield
4c787abfd7 Added option for controlling whether output code should write out default values 2007-09-16 17:45:53 +00:00
Robert Osfield
69de74aedf Added TemplateRegisterDotOsgWrapperProxy. 2007-09-14 11:01:48 +00:00
Robert Osfield
d5cc0e966f Introduce GUIEventHandler::handleWithCheckAgainstIgnoreHandledEventsMask() methods
to help make it easier to get event handles to ingore events that have already been handled.
2007-09-14 10:44:46 +00:00
Robert Osfield
290adbe7ab From Ole-Morten Duesund, added IgnoreUsedEventsMask. 2007-09-14 10:26:14 +00:00
Robert Osfield
0c5d6da793 Fixed warnings of casting void* by refactoring the type and extensiosn setup. 2007-09-13 10:15:48 +00:00
Robert Osfield
45e98d5f18 Added preliminary handling of cases where GLX version < 1.3 2007-09-12 17:01:47 +00:00
Robert Osfield
a933587753 Rejigged the casting to avoid warnings under Windows 2007-09-12 16:20:40 +00:00
Robert Osfield
c15ec121f4 Updated version, ChangeLog and AUTHORS file for 2.1.10 release 2007-09-12 10:43:49 +00:00
Robert Osfield
d8f875ec9e Added log2(int) and log2(uint) methods 2007-09-11 20:54:39 +00:00
Robert Osfield
b89a1480fc Removed int version of log2 to avoid possible errors in assuming log2(10) should ~= log2(10.0) 2007-09-11 20:24:48 +00:00
Robert Osfield
b63ce0dee9 From Art Tevs, Added log2 function. 2007-09-11 17:08:06 +00:00
Robert Osfield
0bd4d303e3 From Art Tevs, build fix. 2007-09-11 16:59:19 +00:00
Robert Osfield
175c3ce806 From Art Trevs, "File Changes:
- GL2Extensions, Program and Program.cpp

Features:
- Support for fragment output binding. (e.g. You can now specify in the fragment shader varying out vec3 fragOut; fragOut = vec3(1,0,1); to write to the fragOut variable. In your program you call glBindFragDataLocation(program, 1, "fragOut") to bind the fragOut variable with the MRT 1 - GL_COLOR_ATTACHMENT1_EXT)

- new methods Program::add/removeBindFragDataLocation Program::getFragDataBindingList

"
2007-09-11 13:34:41 +00:00
Robert Osfield
884b3b7aa2 Seperated out GeometryTechnique .osg support. 2007-09-11 13:32:46 +00:00
Robert Osfield
c51e893ba4 Changed the isTextureIntegerSupported method so that it no longer has the EXT entry in it
for forward compatability reasons.
2007-09-11 12:28:03 +00:00
Robert Osfield
5e83ae4821 From Art Trevs, "Features of the patch are:
- Implementation of integer textures as in EXT_texture_integer

- setBorderColor(Vec4) changed to setBorderColor(Vec4d) to pass double values
as border color. (Probably we have to provide an overloading function to
still support Vec4f ?)

- new method Texture::getInternalFormatType() added. Gives information if the
internal format normalized, float, signed integer or unsigned integer. Can
help people to write better code ;-)

"

Futher changes to this submission by Robert Osfield, changed the dirty mipmap
flag into a buffer_value<> vector to ensure safe handling of multiple contexts.
2007-09-11 12:04:58 +00:00
Robert Osfield
bea07b5f72 From Mike Wittman and Robert Osfield, added support for SO_VERSION number in
runtime version info.  Added checks for OpenThreads version.
2007-09-11 10:10:43 +00:00
Robert Osfield
409cdd0b28 Intoduced a new setGLExtensions template method to do a copy of void* pointer to
local function pointer to avoid compiler warnings related to case void*.

Moved various OSG classes across to using setGLExtensions instead of getGLExtensions,
and changed them to use typedef declarations in the headers rather than casts in
the .cpp.

Updated wrappers
2007-09-10 15:19:23 +00:00
Robert Osfield
8e7e6529be From David Callu, warning fixes 2007-09-07 15:03:56 +00:00
Robert Osfield
c747c7dbd6 Moved defined from Texture2DArray into Texture 2007-09-07 13:25:28 +00:00
Robert Osfield
c7a72c8435 From Art Tevs,
"A new texture class Texture2DArray derived from
Texture extends the osg to support the new
EXT_texture_array extensions. Texture arrays provides
a feature for people interesting in GPGPU programming.


Faetures and changes:

- Full support for layered 2D textures.

- New uniform types were added (sampler2DArray)

- FrameBufferObject implementation were changed to
support attaching of 2D array textures to the
framebuffer

- StateSet was slightly changed to support texture
arrays. NOTE: array textures can not be used in fixed
function pipeline. Thus using the layered texture as a
statemode for a Drawable produce invalid enumerant
OpenGL errors.

- Image class was extended to support handling of
array textures

Tests:
I have used this class as a new feature of my
application. It works for me without problems (Note:
Texture arrays were introduced only for shading
languages and not for fixed function pipelines!!!).
RTT with Texture2DArray works, as I have tested them
as texture targets for a camera with 6 layers/faces
(i.e. replacement for cube maps). I am using the array
textures in shader programming. Array textures can be
attached to the FBO and used as input and as output."
2007-09-07 11:21:02 +00:00
Robert Osfield
b20d542317 From David Callu, improved consistency of Version strings and add version support
for osgIntrospection and osgManipulator.
2007-09-05 17:12:24 +00:00
Robert Osfield
a2447d493c Added option to Locator to help specify here the locator value was defined from.
Update wrappers and Gdal plugin to use this new parameter
2007-09-05 14:15:55 +00:00
Robert Osfield
c9f6a3f7ca Added mutex into osgText::Font::GlphTexture to marshel adding to and reading
from glyph list
2007-09-04 12:32:47 +00:00
Robert Osfield
efc7ff6b02 Rearrange _stateset member variable to avoid compile warning 2007-09-04 09:00:38 +00:00
Robert Osfield
8414a16e52 From Sherman Wilcox, added extension checking support for compressed texture subloading. 2007-09-03 15:43:58 +00:00
Robert Osfield
d80632bc81 Updated version number for 2.1.9 dev release 2007-09-03 14:05:24 +00:00
Robert Osfield
2415b8e4b1 Added default contructors to Operation 2007-09-03 09:43:33 +00:00
Robert Osfield
a97afbb009 Added convinience methods for setting up 3d spherical displays. 2007-09-01 16:56:53 +00:00
Robert Osfield
3304646c4c Changed Font's mutex to become a static mutex shared between all instances of Font.
This ensures single threaded access of the freetype plugin.
2007-09-01 15:24:22 +00:00
Robert Osfield
13faad13e8 Changed mutex reference to a mutex pointer to avoid problems with wrappers 2007-08-31 20:30:45 +00:00
Robert Osfield
5ae1eb711a To solve creations with multi-threaded creation of text, added mutex to Font, and use of this mutex in Text, and added mutex to the reading
of fonts.
2007-08-31 20:16:02 +00:00
Robert Osfield
86e998f64c Added mutex locking add addParents/removeParents in Drawable, Node and StateSet. 2007-08-31 20:14:36 +00:00
Robert Osfield
4ba3f3c1a1 Changed RenderLeaf and StateGraph so that they use ref_ptr<> by default for Drawable and StateSet. 2007-08-31 16:05:24 +00:00