Commit Graph

181 Commits

Author SHA1 Message Date
Robert Osfield
6915bce1a2 Added a getCurrentRenderStage() and getCurrentCamera() convninience methods, and
converted the CullVisitor::apply(OcclusionQueryNode&) implementation to use the
new getCurrentCamera method.
2008-07-24 12:18:49 +00:00
Robert Osfield
86ca0860cc From Paul Martz, typo fixes 2008-07-23 21:25:09 +00:00
Robert Osfield
174f9bbfe0 From Michael Platings and Robert Osfield, added support for controlling,
via StateSet::setNestedRenderBin(bool) whether the new RenderBin should be nested
with the existing RenderBin, or be nested with the enclosing RenderStage.
2008-06-19 11:09:20 +00:00
Robert Osfield
e1eeabcea0 Improved the NaN depth detection within CullVisitor and debug output. 2008-05-29 11:13:29 +00:00
Robert Osfield
2a11d25bbc Improved the NaN error detection and reporting. 2008-05-29 11:09:56 +00:00
Robert Osfield
9623731185 Added RenderStage::setClear*() methods from Camera::getClear*() sources 2008-05-24 09:24:37 +00:00
Robert Osfield
651c93e6c7 Added optional compiled in debugging output to CullVisitor::apply(osg::Camera&) 2008-04-18 14:14:33 +00:00
Robert Osfield
23bc6c2fe5 Refactored the way that the camera settings are inhertied 2008-03-04 16:03:37 +00:00
Robert Osfield
4889342c4a From Paul Martz, Introduced osg::OcclusionQueryNode with support for OpenGL occlusion query extension 2007-12-21 14:45:16 +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
8e7e6529be From David Callu, warning fixes 2007-09-07 15:03:56 +00:00
Robert Osfield
e3b7b2f617 Added new statc prototype() and create() methods to CullVisitor and DatabasePager to allow overriding of the default implementations 2007-08-08 08:10:38 +00:00
Robert Osfield
1b36cfc928 Added save and restoring of the cull mask to Camera handling code 2007-08-02 08:50:39 +00:00
Robert Osfield
6dec61842d Introduce Camera::s/getRenderer(). 2007-07-28 10:28:40 +00:00
Robert Osfield
79dddef778 From Sherman Wilcox, added check for Drawable cull callbck into apply(Billboard) 2007-06-30 09:27:11 +00:00
Robert Osfield
9ba424e8b2 Added saving and restoring of the near/far planes during Camera setup 2007-05-17 13:20:32 +00:00
Robert Osfield
1e0af35900 Added code to better compute the view frustum that is appropriate for a traversed
subgraph.
2007-05-15 17:04:57 +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
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
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
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
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
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
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
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
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
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
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +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
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
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
7d5c81bf5e From Ulrich Hertlein, spelling corrections and a few Doxgen comments. 2006-02-20 21:05:23 +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
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
65f63428e5 From Geoff Michel, fixed the handling of zfar values of 0.0. 2005-12-01 13:19:16 +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
0e16b64665 Coverted tabs to space in core libraries. 2005-11-17 13:35:53 +00:00
Robert Osfield
fb524952b6 Renamed osgUtil::RenderGraph to osgUtil::StateGraph 2005-10-13 12:51:00 +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
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
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
ac07e07705 Further work on GraphicsContext/GraphicsThread 2005-08-20 08:59:03 +00:00