Robert Osfield
a259e97634
From David Callu, fixed incorrect array usage.
2007-05-04 08:40:20 +00:00
Robert Osfield
3809d0dad0
Moved the OpenThreads link locally to each lib
2007-05-03 10:06:38 +00:00
Robert Osfield
40db1a8934
Moved VBO switching code into inline methods into osg::State to speed performance
2007-05-01 06:28:20 +00:00
Robert Osfield
4968eb7136
Further work on the new VBO support
2007-04-27 14:52:30 +00:00
Robert Osfield
5325653f30
Cleaned up numToTop method
2007-04-25 10:32:28 +00:00
Robert Osfield
f242570269
Unified the setup of version numbers so that they all are based on the version
...
number setup in the include/osg/Version header file.
2007-04-22 20:19:43 +00:00
Robert Osfield
4637b78bd1
From Jason Howlett, using suggestion from Robert Osfield, "CullVisitor.cpp was modified, beginning at line 1115. Code was added to
...
check if the camera inherits its cull mask. If not, the CullVisitor sets
its traversal mask to the camera's cull mask."
2007-04-16 19:40:36 +00:00
Robert Osfield
47add5a42c
Cleaned up state management code
2007-04-16 12:20:42 +00:00
Robert Osfield
9db23e0b22
Fixed bug associated with complex RenderBin setup.
2007-04-16 12:18:56 +00:00
Robert Osfield
68a6882d04
Bumbped the version number up to 1.9, in preperation for using odd release numbers
...
for development releases, odd versions for stable releases.
2007-04-16 06:03:22 +00:00
Robert Osfield
2e6ee4bb39
Removed old gmake and VisualStudio build files
2007-04-10 13:10:25 +00:00
Robert Osfield
a78e8d2b6b
Fixed the handle of triangle fan.
2007-04-06 19:51:20 +00:00
Robert Osfield
6d7b5e7ebd
From Eric Wing, pedantic warning fixes
2007-04-06 15:36:13 +00:00
Robert Osfield
538a83dad4
Added support for flushing buffer objects
2007-04-04 09:07:46 +00:00
Robert Osfield
9b5bbe862d
From Mike Wittman, C# build fixes
2007-04-04 08:05:23 +00:00
Robert Osfield
b419fa93ef
From Luigi Calori, "when we link against something that comes out from a Find... we ususally have a variable <LINK_VAR_NAME>available like OPENTHREADS_LIBRARY,
...
so I' ve set up a macro that uses the variable name expanded for linking, and test if a variable ${LINK_VAR_NAME}_DEBUG
like OPENTHREADS_LIBRARY_DEBUG exists and in case uses it for linking in debug mode.
I' ve also set up FindOpenThreads to set up these variables.
I had to edit the core libraries CMakeLists to add the calls to the macros used.
I' ve tested under MSVC"
2007-03-26 13:02:38 +00:00
Robert Osfield
db6f07f1d6
Ran dos2unx of CMakeLists.txt files
2007-03-08 15:31:36 +00:00
Robert Osfield
f50ed9667a
From Eric Wing and others, first cut of CMake build support
2007-03-04 13:05:33 +00:00
Robert Osfield
becd84c2f3
Added the default setting of the SceneView's camera onto the RenderStage to
...
allow SceneView to automatically support FBO, PBuffers, image and texture copies and
Camera post draw callbacks
2007-02-21 20:38:14 +00:00
Robert Osfield
228fd04a19
Removed the exclusion of CullSettings from the genwrapper.conf, and then changed the CullStack RefMatrix& methods to RefMatrix*
...
as the RefMatrix& versions caused the wrappers to fail.
2007-02-21 13:48:01 +00:00
Robert Osfield
808162d344
Added pushViewport/popViewport to CullVisitor::apply(Camera&)
2007-02-16 16:37:16 +00:00
Robert Osfield
990417c9d1
Fixed typo
2007-02-16 15:14:16 +00:00
Robert Osfield
3eb833c8b8
Twaaked comments
2007-02-15 14:47:06 +00:00
Robert Osfield
1eea407ee0
Added support for osg::State::DynamicObjectCount into the RTT codes
2007-02-14 20:44:17 +00:00
Robert Osfield
07411f3246
Introduced new osg::Object::DataVariance type of UNSPECIFIED, and changed the deafult
...
values of DataVariance to UNSPECIFIED to all types.
2007-02-14 13:18:58 +00:00
Robert Osfield
89c99a88fa
Added computeDataVariance method into osg::Object and implementations in Drawable and StateSet,
...
and calling of osgUtil::StaticObjectDetectionVisitor in osgViewer::Viewer
2007-02-14 11:24:42 +00:00
Robert Osfield
7b8483e1be
From Paul Martz, "Make DelaunayTriangulator less verbose - It was outputting a non-warning with notify level set to WARN; changed it to INFO to make it less verbose."
2007-02-09 14:21:03 +00:00
Robert Osfield
a3832d9b78
Removed debug message
2007-02-09 12:08:46 +00:00
Robert Osfield
47622e6134
Fixed the FlattenStaticTransform visitor so that it excludes subgraphs that
...
contain PagedLOD nodes
2007-02-08 15:47:05 +00:00
Robert Osfield
c52207b637
Added new Transform::ReferenceType enum ABSOLUTE_RF_INHERIT_VIEWPOINT to support
...
internal RTT cameras that wish to use the main cameras view/eye point for LOD and other
distance based tests.
2007-02-07 16:32:14 +00:00
Robert Osfield
69da91620f
Convert GraphicsThread/GraphicsOperation to more generic OperationsThread/Operation.
...
This paves the way to running cull traversals in seperate threads.
Updated wrappers
2007-02-02 22:30:36 +00:00
Robert Osfield
6d9641a78b
Added a concrete osg::DeleteHandler implementation which provides support for
...
retain objects for several frames before deleting them. Also added RenderStageCache
into CullVistor.cpp that is used for handling RTT osg::Camera's that are being
used in double buffered SceneView usage.
2007-02-02 12:41:13 +00:00
Robert Osfield
a7c448a585
Moved the init traversal from cull() to the draw() to prevent graphics context
...
calls being made during the cull traversal - something that breaks the
ThreadPerCamera model in osgViewer
2007-02-01 11:07:26 +00:00
Robert Osfield
8dfc5155f4
Further work on new threading model.
2007-01-31 22:24:20 +00:00
Robert Osfield
6acd0e89a1
Disabled the alternating directions of drawing of state sorted render leaves as it
...
was interferring with anaglyphic stereo used in the osgstereimage example.
2007-01-30 12:09:30 +00:00
Robert Osfield
7b9b13b6c0
Added support for per frame alternating the direction that SORT_BY_STATE bins are
...
rendered. The alternation makes it more likely that OpenGL objects will still
be in video ram.
2007-01-30 09:55:34 +00:00
Robert Osfield
fd0ea388c2
Began work on providing support for threading camera cull traversals in parallel with
...
the previous frames draw traversal. Changes range from osg::State, through osgUtil::RenderBin, through to osgViewer
2007-01-29 22:44:29 +00:00
Robert Osfield
5bf2dfe3b1
Added _sorted flag into RenderBin to prevent a bin being sorted twice in one frame
2007-01-27 12:54:33 +00:00
Robert Osfield
36330f7e40
Changed osgUtil::RenderBin and osg::State to allow nesting of StateSet's associated with RenderBin's.
2007-01-27 11:13:01 +00:00
Robert Osfield
7232a831da
Added osg::FrameStamp::set/getSimulationTime().
...
Added setting of osg_SimulationTime and osg_DeltaSimulationTime to the uniforms set by SceneView
Added frame(double simulationTime) and advance(double simulationTime) parameters to
osgViewer::SimpleViewer, Vewer and CompositeViewer.
Updated various examples and Nodes to use SimulationTime where appropriate.
2007-01-25 12:02:51 +00:00
Robert Osfield
b47ef11d74
Initial on screen stats support
2007-01-21 18:24:54 +00:00
Robert Osfield
c53b597795
From Paul Martz and Geoff Michel, Paul updated Geoff's bug fixes to DelaunaryTraingulator.cpp to reflect recent tessellator spelling changes
2007-01-15 09:56:36 +00:00
Robert Osfield
5c78d06dad
Added a default StateSet to osg::View's master Camera. Wired up osgViewer::Viewer so
...
that the master Camera's StateSet is passed to osgUtil::SceneView to use as its global StateSet.
2007-01-12 12:10:06 +00:00
Robert Osfield
c5082cb85c
Added support for vertex ratios into LineSegmentIntersector.
2007-01-10 10:40:12 +00:00
Robert Osfield
4954262eb0
Added View::computeIntersection implementation for a node withing a scene graph.
2007-01-10 10:09:05 +00:00
Robert Osfield
77e300100c
From Geoff Michel, "New delaunay triangulator attached. I hadn't realised that the erase() method was not erase (first, last) but erase (first, one after the last one you want deleted). This made a big difference; however some of the edges of the terrain were not included as edges in the terrain so I increased the size of the supertriangle, which works but reduces accuracy due to the larger range of coordinates in the supertriangle. (A larger supertriangle forces the triangles using supertriangle vertices to be long and thin, making the triangulation fit the convex hull of the terrain.)
...
The loss of accuracy should not affect 'normal' users with terrains that are roughly square (say up to 100:1 aspect ratio) and where the Z range is comparable to the X-Y range. Retested with Pauls data, amalric's strange polygon constraint and the standard test constraints.
I also added 2 tests for routines with a NULL argument passed to them (no-one would usually pass a NULL pointer to these routines unless - as I did in testing- you remove some of the constraints but still pass their pointer to the routine). And I removed 3 tests for triangles which are already removed when generating the geometry.
NB Paul - the previous delaunay triangulator fails under VS8 IF it has any constraints as it attempts to use some vertices that have already been deleted when applying the constraints to edges. Under VS6 and less rigorous compilers it works as the deleted vertices are still in the points stl::Vector; however any added vertices would replace one of the supertriangle vertices with non-disastrous but wrong results."
Note, merged with latest name changes in CVS.
2007-01-09 11:42:49 +00:00
Robert Osfield
462803fd57
From Paul Martz, speeling fixes for Tessellator/Tessellation.
2007-01-08 21:29:49 +00:00
Robert Osfield
02bda82b55
From Paul Martz and Robert Osfield, renamed include/osgUtil/Tesselator and associated classes/references to Tessellator etc.
2007-01-08 11:23:52 +00:00
Robert Osfield
cce656a19b
Fixed warnings
2007-01-04 16:48:23 +00:00
Robert Osfield
7155f7d1b0
Various work on osgViewer library, including warp point and graphics window resize support
2007-01-01 18:20:10 +00:00
Robert Osfield
39c0c2df76
Unified the osg::GraphicsThread::Operation and osg::GraphicsContext::Operation classes
...
as osg::GraphicsOperation. Unpdated parts of OSG depending upon these.
Added a virtaul bool valid() method to osg::GraphicsContext to allow apps to
test whether a valid graphis context has been created or not.
2006-12-24 16:40:19 +00:00
Robert Osfield
76461b3ab2
Added support for sample and sampleBuffers to osg::GraphicsContext::Traits and
...
cleaned up the Traits naming
2006-12-22 21:53:44 +00:00
Robert Osfield
dcebe4daa0
Added initial GraphicsWindowX11 implementation, and fleshed out more of the
...
osgViewer and osg::GraphicsContext/osg::View infrastructure.
2006-12-19 16:00:51 +00:00
Robert Osfield
982a4db9e2
Added ViewPoint support into NodeVistor/CullStack/CullVisitor/LOD/PagedLOD etc to facilate
...
management of LOD settings for RTT cameras.
2006-12-15 17:27:18 +00:00
Robert Osfield
1a7a1704fd
From Geoff Michel, "I was getting triangulations with the previous delaunay triangulator, but it seems I may have been picking up the wrong coordinates or an old version of my test file (that version is OK when no coordinates lie outside the 'terrain' zone). This version is much stricter about memory handling and insertion of extra points."
2006-12-07 10:09:48 +00:00
Robert Osfield
afa96fff0e
Added more accurate computation of local height above sea level in the plane intersections routines
2006-12-05 12:58:29 +00:00
Robert Osfield
0f5aeb5fa3
Added preliminary support for generating distance, height lists for ElevationSlice.
2006-12-04 12:36:13 +00:00
Robert Osfield
fd8d6b7f3b
Cleaned up debugging info.
2006-12-03 12:52:38 +00:00
Robert Osfield
56b7268c72
Added copying of plane to surface intersections in the osgUtil::PlaneIntersector class, and update wrappers.
2006-12-03 11:44:12 +00:00
Robert Osfield
1cd4089d8e
Added handling of loops
2006-11-29 22:00:39 +00:00
Robert Osfield
49d283d592
Added plane to triangle intersections and segment combining, work still not complete though.
2006-11-29 21:43:05 +00:00
Robert Osfield
ab7d1ecc42
Further work on PlaneIntersector
2006-11-29 14:21:59 +00:00
Robert Osfield
a2e79f6a38
Moved osgUtil::PolytopeIntersector, osgUtil::PlaneIntersector and osgUtil::LineSegmentIntersector out from include/osgUtil/IntersecionVisitor into their own seperate files.
2006-11-28 16:30:38 +00:00
Robert Osfield
345810ef22
Added support for float or double osg::Plane, and the default osg::Plane to double.
...
Performance tests on big models did not indicate any performance penalty in using doubles over floats,
so the move to doubles should mainly impact precision improvements for whole earth databases.
Also made improvements to osgUtil::PlaneIntersector and osgSim::ElevationSlice classes
2006-11-28 16:00:52 +00:00
Robert Osfield
5e1c5cd556
Fixed fade text memory consumption bug which was due to new RenderInfo being
...
created local to RenderStage and passed on to rendering code which populated
the RenderInfo UserData, but without the restoring the new UserData to the
main RenderInfo. The local RenderInfo UserData is now passed back to the main
RenderInfo.
2006-11-28 11:10:15 +00:00
Robert Osfield
05bffbe9c4
Added beginnings of osgUtil::PlaneIntersector and osgSim::ElevationSlice
2006-11-27 20:25:36 +00:00
Robert Osfield
fd2ffeb310
Renamed osg::CameraNode to osg::Camera, cleaned up osg::View.
...
Added beginnings of new osgViewer::Scene,View,Viewer,CompositeViewer and GraphicsWindowProxy files.
2006-11-27 14:52:07 +00:00
Robert Osfield
b82e521444
From Mauricio Hofmam, added support for reading images from all osg::CameraNode attachments in RenderStage.
2006-11-27 11:25:40 +00:00
Robert Osfield
3613e66e82
Added extra checks to RemoveRedendentVisitor to catch Groups that may
...
only have one child, but also have StateSet's etc and thefore not suitable
for removal.
2006-11-24 21:19:11 +00:00
Robert Osfield
d0cc014f1b
Further migration to using RenderInfo
2006-11-14 12:51:31 +00:00
Robert Osfield
b5bb541cca
From Stephan Huber, Follows is required to prevent unidented cloning of shared arrays :
...
"I added some calls to isOperationPermissibleForObject() so I can permit the flattten-pass with my specialized objects in my own code."
2006-11-14 12:49:53 +00:00
Robert Osfield
6a81dc157d
From Tery Welsh, added support for inheriting all CameraNode CullSettings and then restoring the original values.
2006-11-07 13:00:14 +00:00
Robert Osfield
06cca16a2a
Added convinience constructors to help support picking with the new osgUtil::Intersector classes.
2006-11-02 17:05:46 +00:00
Robert Osfield
7d12b85632
Added basic PolytopeIntersector functionality based on checking vertices against
...
polytopes.
2006-11-02 15:50:04 +00:00
Robert Osfield
f9fb99dc43
Added prelimnary work on PolytopeIntersector.
2006-11-02 12:17:06 +00:00
Robert Osfield
15f7abe100
Improved handling of projected coords in new intersection classes
2006-11-01 17:18:45 +00:00
Robert Osfield
75169ad16f
Added support for osgUtil::Intersectors being in WINDOW, PROJECTION, VIEW or MODEL coordinates
2006-11-01 14:41:32 +00:00
Robert Osfield
16c238fc60
Added osgSim::LineOfSight and osgSim::HeightAboveTerrain classes
2006-10-30 20:29:06 +00:00
Robert Osfield
b4135398da
Added handling of geometry indices offset when merging geometries with indices
2006-10-30 11:00:25 +00:00
Robert Osfield
358b96e953
Added osgUtil::IntersectorGroup to handle groups of osgUtil::Intersectors
2006-10-27 15:11:17 +00:00
Robert Osfield
ce3929fd5f
Added beginings of new osgUtil::IntersectionVisitor and osgintersection class
2006-10-26 16:03:17 +00:00
Robert Osfield
2f5b7c2e6a
Added workaround for NVidia driver bug into SceneView::init() to prevent the extensions
...
string being initialized within a display list.
2006-10-06 06:58:04 +00:00
Robert Osfield
490fc96ea6
From John Aughey, "Attached is the Optimizer.cpp file that has the fix to duplicate vertex and normal arrays if there is more than one reference to the data. This fixes the problem where the transforms are applied to the same vertex array multiple times if that vertex array is re-used within the model. "
2006-10-03 20:20:23 +00:00
Robert Osfield
f97759405a
From Farshid Lashkari, "Here is the patch we discussed previously about adding a flag to
...
CullSettings which allows CameraNode to inherit the clear color."
2006-10-02 14:11:40 +00:00
Robert Osfield
4b7fb8f17d
From Farshid Lashkari, "I made a small modification to the CullVisitor class so that it uses
...
the inheritance mask of CameraNodes with respect to the compute
near/far mode."
2006-09-21 10:38:06 +00:00
Robert Osfield
def74d3471
Introduced new osg::View, and osg::RenderInfo classes into the core OSG to help
...
handle scenes with multiple views with elements that need coordinating on a per view basis.
Added beginings of new osgText::FadeText class (not functionality yet).
2006-09-18 20:54:48 +00:00
Robert Osfield
63907dbbaf
From Bryan Thrall, fix to Optimizer::MergeGeometryVisitor so that it checks
...
the permissable operation status on Drawables.
2006-09-08 20:08:01 +00:00
Robert Osfield
daa54a3b09
From Farshid Lashkari,
...
"I've made some changes to osg which I think make it easier to control
the render order of CameraNode's. Instead of using the built-in orders
(PRE_RENDER, POST_RENDER, NESTED_RENDER), you can specify an integer
order. Values less than zero are pre rendered in order. Values greater
than zero are post rendered in order. And a value of 0 is equivalent
to NESTED_RENDER.
The changes should be fully backward compatible. Also, I changed the
RenderStageList type from a vector to a list because I needed to be
able to insert values anywhere in the list.
The reason I made these changes was because I wanted to be able to set
the render order of a CameraNode at runtime without having to reorder
it in the scenegraph."
and later in the final submission message (relating to what has been finally been merged) :
"I've rethought my implementation and came up with something a little
better. The setRenderOrder will continue to take an enum, but will
have an optional orderNum parameter which can be both positive and
negative. I think this method is more intuitive and flexible."
2006-09-04 13:15:08 +00:00
Robert Osfield
87a221445e
Updated version numbers of the up comming 1.2 release
2006-08-31 20:54:28 +00:00
Robert Osfield
d92fdafd53
Fixed TextureAtlasVisitor bug where repeating textures were incorrectly assigned as non repeating.
2006-08-31 15:39:23 +00:00
Robert Osfield
dcf19c92fd
Added support for CameraNode's PostDrawCallback.
2006-08-31 10:08:05 +00:00
Robert Osfield
102215afb5
To TextureAtlasBuilder add copying of border pixels into margins to help improve quality of lower mipmap levels.
2006-08-30 16:33:30 +00:00
Robert Osfield
e789ae6f54
In TextureAtlasVisitor code added catch for textures that have some geometry with texcoords within 0 to 1.0, but
...
others others out of the 0 to 1 range, these textures are automatically rejected from consideration for adding to a texture atlas.
2006-08-30 09:32:05 +00:00
Robert Osfield
25bf4a6626
To the TextureAtlasBuilder added detection of instance where a single drawable
...
has multiple textures on the same texture unit inherited down to it from above.
2006-08-29 15:05:05 +00:00
Don BURNS
f74d3af391
Fixed a crash in removeInternalTriangles() for models without normals.
2006-08-29 00:10:43 +00:00
Robert Osfield
66f40a1670
Added env var docs
2006-08-28 19:05:40 +00:00
Robert Osfield
70470bc84a
From Roger James, "I have been going through my modified osg files and came across this fix to the Tesselator. From memory it handles a problem with per primitive normal binding. I must have forgotten to submit it."
2006-08-28 19:01:03 +00:00
Robert Osfield
19f3d975dd
Futher work on TextureAtlasBuilder/Visitor, now functioning enough to deploy on real models.
2006-08-28 15:46:02 +00:00
Robert Osfield
ee7f3fa375
Further work on TextureAlasBuilder and TextureAtlasVisitor.
2006-08-28 10:46:39 +00:00
Robert Osfield
9f6be131a4
Further work of TextureAtlasBuilder
2006-08-26 21:38:22 +00:00
Robert Osfield
f86c824275
Further work on new TextureAtlasBuilder.
2006-08-25 16:30:23 +00:00
Robert Osfield
1f8c4874f6
Checking in first cut of new osgUtil::Optimizer::TextureAtlasBuilder class
...
for building texture atlas for sets of images or textures.
2006-08-25 15:53:16 +00:00
Robert Osfield
a16568254c
Moved reset to 0 of _createReuseMatrixIndex from CullVistor.cpp to CullStack.cpp so that
...
CullStack::reset works correctly for all subclasses - fixing a memory consumption issue with occluders
2006-08-12 18:19:43 +00:00
Robert Osfield
132f9ead45
Updated version number for 1.1.1 release
2006-08-12 08:29:16 +00:00
Robert Osfield
d1fe85caf6
Fixed pbuffer usage cross multiple graphics contexts
2006-08-11 11:05:09 +00:00
Robert Osfield
174e3b3dc3
Fixed RenderToTexture bug which occured when the viewport dimensions where
...
different than the texture being written to.
2006-08-03 15:57:39 +00:00
Robert Osfield
0af758716a
For cases where the RenderBin has its own StateSet do a popAllStateSets()
...
to ensure that the state is completely ready for the RenderBin's StateSet to be at the bottom.
2006-07-19 20:56:24 +00:00
Robert Osfield
4591c68d95
Fixed error in enum, completely perplexed how the error got in...
2006-07-19 19:45:32 +00:00
Robert Osfield
dfbc9d0441
Moved the moveToRootStateGraph(,) from RenderStage::drawImplemenation() to RenderBin::drawImplementation();
2006-07-18 20:17:31 +00:00
Robert Osfield
f1c2694c17
Updated copyright years.
2006-07-18 15:21:48 +00:00
Robert Osfield
9790d15f30
Reduced the verbosity of debug info.
2006-07-18 13:04:57 +00:00
Robert Osfield
f2d50d943b
Updated wrappers
2006-07-18 11:42:27 +00:00
Robert Osfield
a74801a0ee
Added Optimizer::FlattenBillboardsVisitor.
2006-07-18 11:03:46 +00:00
Robert Osfield
524417f981
Removed debug info
2006-07-14 11:29:41 +00:00
Robert Osfield
e835ea5328
Speeded up merge geometry
2006-07-14 11:04:24 +00:00
Robert Osfield
47c7c43c64
Optimized the MERGE_GEODES pass
2006-07-13 20:42:10 +00:00
Robert Osfield
dd32e6425e
Added StatsVisitor to include/osg/Statistics, and usage of it in osgUtil::Optimizer.
...
Added --optimize <string> option to osgconv
2006-07-13 15:25:22 +00:00
Robert Osfield
dd6a33da49
Removed StateSet::ENCLOSE_RENDERBIN_DETAILS since it is rendendent, and
...
implemented the OVERRIDE_RENDERBIN_DETAILS.
2006-07-11 21:53:57 +00:00
Robert Osfield
88609a5eee
Updated version numbers for 1.1 release
2006-07-06 10:28:12 +00:00
Robert Osfield
30265ac0b3
Added support for RenderBin's have a local top level StateSet. This is now
...
used by default in the depth sorted bin.
2006-06-29 15:57:24 +00:00
Robert Osfield
240fc9ebee
Replaced ref_ptr<>:take with ref_ptr<>:release, and added handling of removeal
...
of ref_ptr<> operator >.
2006-06-26 20:45:51 +00:00
Robert Osfield
a9f2e345c9
From David Fries, Reset only the RenderLeaf objects used in the last
...
frame as given by the _currentReuseRenderLeafIndex instead of
resetting all leaves which can be very time consuming.
2006-06-26 09:18:49 +00:00
Robert Osfield
4c5452733b
With direction from Paul Melis, fixed bug in CopySharedSubgraphsVisitor which prevented
...
it being applied. Also fix inappropriate comment.
2006-06-08 11:39:10 +00:00
Robert Osfield
bf0828138c
Cleaned up the OpenGL error reporting.
2006-05-22 19:30:07 +00:00
Robert Osfield
8af7b04c5b
From Farshid Lashkari, "The drawInner() method of osgUtil::RenderStage ignores the
...
checkForGLErrors flag of the osg::State object. The attatched file
fixes this."
2006-05-09 09:47:26 +00:00
Robert Osfield
a8c52a90f0
Added selective support for thread safe ref/unref such that the rendering
...
backend now doesn't use thread safe ref counting where multi-buffering exists.
This reduces the overhead of multi-threading.
2006-05-02 15:52:46 +00:00
Robert Osfield
43f0efd6d2
Reorganised the Group::removeChild and Geode::removeDrawable methods so
...
that removeChild(Node*), removeChild(uint) and equivilant Geode methods are
now inline methods, not designed to be overriden, and seperated out the
multiple remove method to be called removeChildren(uint, uint) which is
now the only virtual method. There removeChildren is now the method to
override in subclasses.
This reorganisation requires some call code to be rename removeChild usage
to removeChildren.
2006-05-02 09:45:31 +00:00
Robert Osfield
fb35d02c33
Added setting of the FrameStamp on the RenderStage's local GraphicsContext to
...
keep it in sync with the calling graphics context.
2006-04-17 13:25:33 +00:00
Robert Osfield
4c0cfd18da
From Ben Discoe, added missing drawable->dirtyDisplayList().
2006-04-14 08:28:35 +00:00
Robert Osfield
761a3b43ac
From Brede Johansen, added MergeGeode visitor to osgUtil::Optimizer.
2006-04-06 14:06:22 +00:00
Don BURNS
de930be1c1
Fixed a bug in the DelaunayTriangulator uniquify points method. Was always
...
skipping the first point.
2006-04-04 23:22:34 +00:00
Robert Osfield
def7a78842
Fixed typo of Validity.
2006-02-22 19:14:01 +00:00
Robert Osfield
32b929a493
Added support for OpenGL mode black listing to provide better support
...
for extension checking and invalidation of OpenGL modes associated with
extensions.
2006-02-22 14:31:13 +00:00
Robert Osfield
7d5c81bf5e
From Ulrich Hertlein, spelling corrections and a few Doxgen comments.
2006-02-20 21:05:23 +00:00
Don BURNS
8f7d349f7e
Added a filter to the Delaunay Triangulator to insure that incoming points
...
are unique in the X and Y components.
2006-02-08 23:41:32 +00:00
Robert Osfield
608a183753
Added s/getDoTriStrip and s/getSmoothing method.
2006-02-06 20:36:09 +00:00
Robert Osfield
6624f3aa62
Improved default settings, re-enambled smoothing and tri stripping of sampled data.
2006-02-06 19:16:04 +00:00
Robert Osfield
3936bcde9e
Added support for up sampling by dividing longest edges.
2006-02-06 17:12:35 +00:00
Robert Osfield
e89852e25f
From Marco Jez, " I've modified in order to make FBO mipmapping work. In
...
FrameBufferObject.cpp there is also another fix: when initializing a FBO
attachment from a CameraNode attachment, the renderbuffer's format must be
set to the attachment's internal format, not to the image's pixel format.
Another problem is that attaching a renderbuffer to the FBO through
CameraNode is not simple (if not impossible) if you don't intend to specify
an Image object. Probably CameraNode could be enriched with an
"attach(buffer, width, height, format)" method. For example if you attach a
color buffer as a texture whose size is different than that of the
CameraNode's viewport you also need to attach a depth buffer of the same
size, because the depth buffer that is automatically attached by RenderStage
has the viewport's size. FBOs require that all attachment have the same
dimensions, so said setup will fail if you can't specify a custom depth
renderbuffer"
2006-02-04 21:20:25 +00:00
Robert Osfield
df1d2ee93b
cleaned up clampNearNar code.
2006-01-24 12:02:40 +00:00
Robert Osfield
a0f43443a4
From Marco Jez, addition of glw extension checking under Windows, and tweaks to
...
BlendEquation and RenderStage to correct the extensions being tested.
2006-01-18 11:45:58 +00:00
Robert Osfield
93a2c3d011
Improved handling of clean up of osg::Program/osg::Shader on closing of a graphis context.
2006-01-16 17:05:17 +00:00
Robert Osfield
ab71114219
Moved the body of the FBOExtensions::instance() to the .cpp and added bool to
...
control whether that an FBOExtensions structure can be created if missing.
2006-01-03 10:44:14 +00:00
Robert Osfield
58d82d0f66
Added setting of the parent path on the new PickVisitor.
2005-12-23 10:59:12 +00:00
Robert Osfield
378dc18f1c
Seperated out the view and model matrices in IntersectVisitor to allow
...
handling of world coordinates better when using PickVisitor.
2005-12-22 14:06:33 +00:00
Robert Osfield
aef81ae00d
Added check against the validity of the _inverse matrix pointer.
2005-12-19 15:05:26 +00:00
Robert Osfield
7b31c2e6ac
Added debugging info for future reference (currently commented out.)
2005-12-19 13:57:04 +00:00
Robert Osfield
acf198b28b
Added transform of the eye point into local coordinates to properly account
...
for transforms within the scene graph.
2005-12-19 13:40:32 +00:00
Robert Osfield
df005827de
Improved handling of clamping of projection matrix for scenes with close to zero depth range.
2005-12-18 16:06:17 +00:00
Robert Osfield
c738af1e91
Fixed null matrix op.
2005-12-16 17:01:30 +00:00
Robert Osfield
13e45c98fb
Fixed handling of absolute transforms in IntersectVisitor.
2005-12-16 16:27:17 +00:00
Robert Osfield
2815622c35
Improved stats handling, and fixed a couple of stats bugs.
2005-12-15 17:14:40 +00:00
Robert Osfield
da2adaec06
From Eric Sokolosky, add setting of _cameraRequiresSetUp in constructor to
...
avoid uninitialized variable.
2005-12-09 09:38:46 +00:00
Robert Osfield
60f7607618
Added support for pre and post relative transforms on cameranode.
2005-12-08 11:01:38 +00:00
Robert Osfield
53ee0ce3ec
Added CameraNode::releaseGLObejcts() to help in clean up, and changed the
...
ordering in SceneView::flushDeleteGLObjects() so that fbo's are deleted
before any texture objects they use are deleted.
2005-12-08 10:06:57 +00:00
Robert Osfield
3f3c7b1df8
Added Camera::isRenderToTextureCamera() method, and improved support in PickVisitor
...
and IntersectVisitor for CameraNode, including the ignoring of render to texture cameras,
such that HUD's etc are still intersected against.
2005-12-07 11:36:56 +00:00
Robert Osfield
99be2cdb7f
Moved PickVistor into osgUtil
2005-12-07 10:25:50 +00:00
Robert Osfield
8d8229cc05
From Marco Jez, hack/fix for VS compile/link problems related to STL containers.
2005-12-02 00:25:40 +00:00
Robert Osfield
066760738b
From Ali Botorabi, fixed the setDefault() fallback to properly handle the case
...
when no scene view light is requested.
2005-12-01 14:37:15 +00:00
Robert Osfield
65f63428e5
From Geoff Michel, fixed the handling of zfar values of 0.0.
2005-12-01 13:19:16 +00:00
Robert Osfield
2ce7718a66
From Eric Wing, fixes for "warning: converting of negative value '-0x00000000000000001' to 'unsigned int'"
2005-11-29 11:39:07 +00:00
Robert Osfield
736a8433ca
Added FBO deletion support, and better FBO querry and fallback mechansim in RenderStage.
2005-11-24 15:18:12 +00:00
Robert Osfield
e1dd759dd8
Changed CameraNode::getDataChangeMutex() to be a pointer rather than a reference to
...
get around osgIntrospeciton build problem with the OpenThreads::Mutex copy constructor being private.
2005-11-23 16:32:55 +00:00
Robert Osfield
74830f9ce1
Added multi-buffering of the CameraNode::_renderingCache to help cope with multiple graphis context usages.
2005-11-23 13:44:27 +00:00
Robert Osfield
f78a37be9c
Simplified the TangentSpaceGenerator so that is automatically converts any models
...
with indices to one without indices and then runs the tangent space generation code on the result.
2005-11-22 21:14:26 +00:00
Robert Osfield
0e16b64665
Coverted tabs to space in core libraries.
2005-11-17 13:35:53 +00:00
Robert Osfield
76f7f77883
Added catch of erase of the last element of heap.
2005-11-15 14:25:03 +00:00
Robert Osfield
0ec0327b96
Added scene stats support to osgProducer::ViewerEventHandler.
2005-11-11 17:00:36 +00:00
Robert Osfield
e9c25115fb
Added checks against the values returned from dynamic_cast<>'s.
2005-11-10 10:29:56 +00:00
Robert Osfield
258425d649
Bumped the version numbers up to 1.0 in preparation for 1.0-rc1.
2005-11-09 10:49:56 +00:00
Robert Osfield
857b3e03c3
Added sorting and clearing of pre and post RenderStages stored in RenderStage,
...
and added some debugging comments which are currently commented out from compilation -
these are left in just in case future debug work requires them.
2005-11-08 11:46:52 +00:00
Robert Osfield
d3b1ee6b57
Changed the occluder traversal so that checks the children of the SceneView's Cameara
...
rather than starting at the camera itself.
2005-11-08 09:36:42 +00:00
Robert Osfield
9bfc6ead94
Added extra debugging checks on FBO's
2005-11-04 19:00:49 +00:00
Robert Osfield
4915259878
Improved support for texture subload/render to texture in various Texture classes
...
and RenderStage.
2005-11-04 12:08:16 +00:00
Robert Osfield
2584d43393
Removed the double call to the camera post draw callback.
2005-11-01 19:31:30 +00:00
Robert Osfield
e23176c3b6
Set the draw and read buffer to GL_NONE when using FBO's, thereby avoid
...
invalid enumrates being generated.
2005-11-01 15:39:26 +00:00
Robert Osfield
4509232792
Improved handling of osg::Image copying.
2005-11-01 15:23:03 +00:00
Robert Osfield
a742cb682e
Added RenderTargetFallback option into osg::CameraNode.
2005-11-01 10:42:54 +00:00
Robert Osfield
ab1bd48511
Moved SceneView across to use an osg::CameraNode to store the projection and view matrices,
...
the viewport, the clear colour and the subgraph needing rendered. This is done
transparently so all existing functionality will behave as before. What it does
add is the ability to set a SceneView directly by a single osg::CameraNode when required.
2005-10-28 13:11:56 +00:00
Robert Osfield
96a88f968a
Added error message to report when too many line segments are added to an IntersectVisitor.
2005-10-27 11:11:02 +00:00
Robert Osfield
be07f48884
From Geoff Michel, compile fixes for VS6.0
2005-10-26 09:22:13 +00:00
Robert Osfield
f46044084a
From Farshid Lashkari & Robert Osfield: Added support for VERTICAL_INTERLACE and HORIZONTAL_INTERLACE
...
stereo modes use the stencil buffer.
2005-10-25 15:43:04 +00:00
Robert Osfield
598dda59f5
From Geoff Michel, added support for constrain delaunay triangultion, and osgdelaunay example.
2005-10-25 13:28:48 +00:00
Robert Osfield
285418d6f8
From Brede Johansen, changed osg_InverseViewMatrix to osg_ViewMatrixInverse to bring
...
into line with OpenGL shader languague conventions.
From Robert Osfield, changed the SceneView::ActiveUnforms enum to from INVERSE_VIEW_MATRIX_UNIFORM
VIEW_MATRIX_INVERSE_UNIFORM to be convistent with the above change.
2005-10-25 09:23:21 +00:00
Robert Osfield
5374ddaccb
From Mike Weiblen, "some fixes for OSG_OPTIMIZER envar parsing and help display"
2005-10-24 11:46:51 +00:00
Robert Osfield
fb524952b6
Renamed osgUtil::RenderGraph to osgUtil::StateGraph
2005-10-13 12:51:00 +00:00
Robert Osfield
449333b5d3
Changed the fallback code to use the result form the realize() call, removed
...
the code path from running a PBuffer as a seperate graphics context (this
was found to be slower than running single threaded so its not worth the
extra complexity).
2005-10-06 15:41:47 +00:00
Robert Osfield
a380a49509
Improved the fallback mechanism from FBO, down to PBuffer_RTT down to PBuffer down to frame buffer.
2005-10-06 11:26:07 +00:00
Robert Osfield
5cb66efc86
Moved the testing and setting up of FBO/Pbuffer extension from CullVisitor to
...
support into RenderStage to allow better fallback implementations.
2005-10-05 16:21:51 +00:00
Robert Osfield
cf2974329f
Added code paths for PBuffer RTT support.
2005-10-04 18:50:00 +00:00
Robert Osfield
d82d598115
Fixed typo of CameraNode::setRenderTargetImplementation(..)
2005-09-29 09:36:51 +00:00
Robert Osfield
b38f491c12
From Volker Walkiewicz (with tweaks from Robert Osfield):
...
Fix to the update of the error metrics on the edges in the simplification mesh that are affected by an edge collapse.
Addition of 'n' and 'p' keyboard control in osgsimplifier example to allow users to control the sample ratio manually.
2005-09-28 16:05:35 +00:00
Robert Osfield
52dea86a3e
From A. Botorabi, "slightly modified osgUtil's TangentSpaceGenerator class to allow the
...
option for using or not using geom's indices for tangent space vectors
generation. now, Ruben's code is also used (it was disabled before). in
order to keep backward compatibility, the compute method behaves as before
in default case."
2005-09-28 13:53:54 +00:00
Robert Osfield
765db1998c
Added support for cullable state, that uses a polytope to define the extents
...
of objects that will be influenced by it.
2005-09-07 16:18:43 +00:00
Robert Osfield
21cabaf5f6
Renamed osgUtil::RenderStageLighting osgUtil::PositionalStateContainer
2005-09-02 10:35:38 +00:00
Robert Osfield
994192657a
Compile fix.
2005-08-30 19:20:19 +00:00
Robert Osfield
aba3b4fa67
Clean up and fixes to GraphicThread class, and osgcamera example.
2005-08-30 14:41:08 +00:00
Robert Osfield
b316dc30e8
Disabled the pbuffer graphics thread.
2005-08-28 19:07:09 +00:00
Robert Osfield
3ac94784fc
From Geoff Michel, added normal definition for tesselation
2005-08-22 15:13:04 +00:00
Robert Osfield
c0d6126313
From Domenico Mangieri, addded some missing const qualifiers in osgUtil::SceneView.
2005-08-22 13:58:23 +00:00
Robert Osfield
ac07e07705
Further work on GraphicsContext/GraphicsThread
2005-08-20 08:59:03 +00:00
Robert Osfield
51faa7e43a
Various updates to support the new GraphicsThread class.
2005-08-18 20:17:51 +00:00
Robert Osfield
84618ffcb3
Merged RenderToTextureStage functionality into RenderStage
2005-08-17 10:12:49 +00:00
Robert Osfield
e8fc5248fa
Added realize() and isRealized() methods to osg::GraphicsContext.
...
Added osgcamera example that uses osg::GraphicsContext to create the required
window for rendering too, will eventually use osg::CameraNode to replace usage
of osgUtil::SceneView.
2005-08-16 13:29:07 +00:00
Robert Osfield
64fbb477fe
Set the double buffer off when setting up pbuffers.
2005-08-06 19:16:53 +00:00
Robert Osfield
098fafc198
From Pavel Moloshtan, setting of the cull traversal mask which visiting camera
...
subgraphs. (with small tweak from Robert Osfield to remove compile warnings.)
2005-07-27 13:38:15 +00:00
Robert Osfield
4e69d46289
Further work on trying to get glGenerateMipMapEXT working in conjunction with
...
frame buffer objects. Still don't work under Linux yet through :-|
2005-07-27 11:27:44 +00:00
Robert Osfield
bddaefd569
Perliminary support for glGenerateMinMapEXT.
2005-07-25 16:12:24 +00:00
Robert Osfield
384830d37e
Added handling of automatic setting up of the contextID.
2005-07-25 14:28:22 +00:00
Robert Osfield
3c23a42f17
Added support for TextureCubeMap into osgUtil::RenderToTextureStage.
2005-07-25 13:05:57 +00:00
Robert Osfield
ee8f7bb756
Added post draw callback to osg::CameraNode/osgUtil::RenderToTextureStage.
...
Added support for Texture1D, 2D, 3D and TextureRectangle into osgUtil::RenderToTextureStage.
2005-07-24 20:31:21 +00:00
Robert Osfield
302c58fc93
Implemented the beginings of the osgProducer::GraphicsContexImplementation.
...
Added options into osgprerender for controlling how to do the pre rendering i.e.
--fbo, --pbuffer, --fb --window, and also added the option for controlling the
window size with --width and --height.
2005-07-21 19:27:19 +00:00
Robert Osfield
7b23cf930e
Added support for multiple colour buffers into osg::CameraNode/osgUtil::CullVisitor
2005-07-19 20:01:00 +00:00
Robert Osfield
8dd013171c
Ported all the render to texture examples across to using the new osg::CameraNode.
...
Added support for texture cube maps in FBO + CameraNode.
2005-07-19 16:30:55 +00:00
Robert Osfield
d35ea68f3e
Renamed Byte2,3,4 and Short2,3,4 and UByte4 to use the Vec*b, Vec*s and Vec4ub form
2005-07-15 14:41:19 +00:00
Robert Osfield
cfac4c74bc
Added reference frame to TexGenNode
2005-07-15 08:32:36 +00:00
Robert Osfield
0956674292
Added back in the call to drawPreRenderStages() as this shouldn't interfere
...
with the stereo code in SceneView as RenderStage should automatically only
allow themselves to be draw on per frame.
2005-07-14 13:21:11 +00:00
Robert Osfield
99279fbf61
From Marco Jez, added missing method implementations to CameraNode and
...
added check to ensure FBO extension is support to RenderToTextureStage.
2005-07-08 14:46:13 +00:00
Robert Osfield
facb0e2638
From Pavel Moloshtan, Byte2,3,4 and Short2,3,4 classes and their Array counterparts.
...
With a few build tweaks and bug fixes by Robert Osfield.
2005-07-05 15:57:53 +00:00
Robert Osfield
042ca70866
From David Spilling, fixed the incircle test so it handles colinear points.
2005-06-24 20:19:12 +00:00
Robert Osfield
c5cad6982e
Further FBO support work.
2005-06-16 14:01:38 +00:00
Robert Osfield
dfaed083ea
Added osgmultiplecameras example and support for pre/post multiplaction.
2005-06-15 10:59:10 +00:00
Robert Osfield
71122ff38f
Work on the RenderToTexture usage of the new osg::CameraNode. Both osghud
...
and osgprerender now ported across to osg::CameraNode.
2005-06-14 20:51:35 +00:00
Robert Osfield
e229a8cb67
Updates to clean up wrapper generation, and to update wrappers
2005-05-24 15:34:23 +00:00
Robert Osfield
276dfbd0ad
Added support for setting the default render bin sort mode via the
...
env OSG_DEFAULT_BIN_SORT_MODE variable or via or RenderBin::setDefaultRenderBinSortMode()
method.
2005-05-19 15:17:53 +00:00
Robert Osfield
955cc1ec2a
Added s/getClearMask() support to osg::ClearNode, osgUtil::SceneView and the
...
.osg plugin.
2005-05-18 19:55:14 +00:00
Robert Osfield
5947b97cde
Improved the handling of data attached to proxy nodes
2005-05-17 14:25:11 +00:00
Robert Osfield
1dd553ed0e
Bumped version numbers to 0.9.9 in rediness for 0.9.9 release.
2005-05-16 17:17:53 +00:00
Robert Osfield
3b4636311b
Moved BaseOptimizerVisitor out of Optimizer into osgUtil namespace to try and
...
get round MipsPro compile problems.
2005-05-13 13:29:45 +00:00
Robert Osfield
fb34b22e34
Cleaned up API of BindAttributeLocation, added deletion of shader objects.
2005-05-11 11:41:44 +00:00
Robert Osfield
44c363dd3f
Added code to prevent ProxyNode's from been "flattened" by
...
osgUtil::Optimizer::FlattenStaticTransforms.
2005-05-09 15:29:18 +00:00
Robert Osfield
a6e8378a72
Removed debug info
2005-05-08 19:21:43 +00:00
Robert Osfield
d1a1b1d95c
Added more comprehensive releaseGLObjects(State*=0) throughout Nodes,
...
Drawables,StateSet, and osgDB::Registry.
Added cleanup_frame() from to osgProducer::OsgCamerGroup to help with proper
clean of OpenGL objects before exit, and modified osgviewer, osghangglider,
osgwindows examples to do the extra frame call to cleanup_frame() before exit.
2005-05-07 20:47:09 +00:00
Robert Osfield
cdab058b32
Added osg_DeltaFrameTime uniform to default set.
2005-05-06 10:32:31 +00:00
Robert Osfield
2798d58a41
Added support for osg_FrameNumber, osg_FrameTime, osg_ViewMatrix, osg_InverseViewMatrix
...
into SceneView, controlled via a setActiveUniforms(.) method.
2005-05-05 12:30:54 +00:00
Robert Osfield
f8c855a576
Fix for Tiger build
2005-05-04 11:38:34 +00:00
Robert Osfield
a1f23bbccd
Fixed bug where the Optimizer::StateVisitor was trying to optimize
...
non existant StateSet's.
2005-05-04 09:11:32 +00:00
Robert Osfield
b85d4d4e7e
Added support for optimization of Uniforms
2005-05-02 10:18:37 +00:00
Robert Osfield
03232ec667
Moved osg::Impostor to osgSim::Impostor, as Impostor isn't a core feature.
2005-05-01 19:48:49 +00:00
Robert Osfield
adba6fa559
Added RemoveLoadedProxyNodes pass to Optimizer, set on by default at present.
2005-04-30 15:16:05 +00:00
Robert Osfield
81f60233a9
From Geoff Michel :
...
ac3d loader - better sharing of states between objects and Roger James' bug fix for missing normals.
Tesselator.cpp - faster processing of polygon tesselation for single triangles (which dont need to be tesselated)
osgtesselate.cpp - added wrap for texture so that appearance is as originally. Default texture behaviour has changed to clamp."
2005-04-30 13:54:21 +00:00
Robert Osfield
67baa30218
Combine LOD fixed properly this time :)
2005-04-30 07:25:15 +00:00
Robert Osfield
bf03f094c2
fixed combined LOD bug
2005-04-30 07:22:56 +00:00
Robert Osfield
7117ff4bd3
Added support for controlling the frequency of checking for OpenGL errors
...
via:
enum CheckForGLErrors
{
/** NEVER_CHECK_GL_ERRORS hints that OpenGL need not be checked for, this
is the fastest option since checking for errors does incurr a small overhead.*/
NEVER_CHECK_GL_ERRORS,
/** ONCE_PER_FRAME means that OpenGl errors will be checked for once per
frame, the overhead is still small, but at least OpenGL errors that are occurring
will be caught, the reporting isn't fine grained enough for debugging purposes.*/
ONCE_PER_FRAME,
/** ONCE_PER_ATTRIBUTE means that OpenGL errors will be checked for after
every attribute is applied, allow errors to be directly associated with
particular operations which makes debugging much easier.*/
ONCE_PER_ATTRIBUTE
};
/** Set whether and how often OpenGL errors should be checked for.*/
void setCheckForGLErrors(CheckForGLErrors check) { _checkGLErrors = check; }
/** Get whether and how often OpenGL errors should be checked for.*/
CheckForGLErrors getCheckForGLErrors() const { return _checkGLErrors; }
2005-04-29 20:56:20 +00:00
Robert Osfield
30d20fcf55
From Farshid Lashkari, removed redundent fusion distance calculations from computeRightEyeProjectionImplementation and
...
computeLeftEyeProjectionImplementation methods.
2005-04-28 05:21:27 +00:00
Robert Osfield
0d9887462a
Added MergeGeometryVisitor::setTargetMaximumNumberOfVertices(uint);
2005-04-23 16:09:20 +00:00
Robert Osfield
06dc3ebb34
From Reinhard Sainitzer, bug fix, added missing break;
2005-04-19 07:37:59 +00:00
Robert Osfield
08f593a54b
From Joran Jessurun, Added setting of original node mask to flatten transforms
2005-04-15 20:11:50 +00:00
Robert Osfield
678b22ce83
Updated Copyright notices to 1998-2005.
2005-04-14 21:41:28 +00:00
Robert Osfield
d52e02aaeb
From James French, a tweak with fix a compile problem related to STLport.
2005-04-08 14:44:44 +00:00