Commit Graph

58 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
2af70e3c4c From Ronny Krueger:
In RenderStage.cpp removed erroneous else statement.

    In ShapeDrawable.cpp's PrimitiveShapeVisitor::apply(const Box& box) fixed
    order of the last face.
2004-02-09 22:56:39 +00:00
Robert Osfield
1158e4605d Added support for updating the SceneView projection matrix from the values
of near and far computed during the cull traversal.
2003-12-15 23:23:45 +00:00
Robert Osfield
1998bdef86 Moved osg::Statistics to osgUtil::Statistics and merged addition to it
fro Pavel Moloshtan.
2003-07-15 13:46:19 +00:00
Robert Osfield
20ba1a4033 Fix for impostors bug where image insert were visible, this was down to a double
call to RenderStage::drawPreRenderStage().  The call to it in RenderStage inside
the draw() method has been removed, leaving on the call in SceneView.
2003-01-24 09:11:05 +00:00
Robert Osfield
48bda9cc79 Added new Copyright/License notice to header and source files. 2003-01-21 16:45:36 +00:00
Robert Osfield
e1b084749e Renamed the RenderBin::sort_local to sortImplementation(),
draw_local to drawImplementation() and added a new RenderBin::DrawCallback().

Added osgcubemap to the Make/ test scripts.
2002-10-17 13:48:46 +00:00
Robert Osfield
68384e984b Made the calls to the drawing of the pre rendering stages exclit, using
a seperate method in RenderStage and associated calls in sceneView.cpp.
This fixes problems when doing stereo and prerender at the same time.
2002-09-19 09:52:50 +00:00
Robert Osfield
f6cb09c601 Fixed copy constructor so that the _stage member variable was set to this
correctly.
2002-09-19 09:05:50 +00:00
Robert Osfield
ed43d97ed3 Improved the sort callback support in osgUtil::RenderBin, and removed the
now rendundent DepthSortedBin class.
2002-09-17 15:47:23 +00:00
Robert Osfield
8036901ea1 Rewrote osg:Statistics so that it is PrimitiveFunctor as is now completely
decoupled from osg::Drawable.  The Drawable::getStats() virtual method
no longer exists.

Updated the Viewer to use the osg::Statistics incarnation and reformated stats
to clean it up.
2002-07-18 14:20:01 +00:00
Robert Osfield
ae8076f83b dded osg::ClipNode class for managing OpenGL clipping planes, and osgclip demo. 2002-05-02 00:14:40 +00:00
Robert Osfield
f515d67f4f Cleaned up the handling of the Viewport with osg::SceneView/RenderStage
and CullVisitor so that the Viewport is now managed as part as the global
stateset so that it can be pushed and popped like the rest of state without
problems.  This makes it easier to have multiple viewports within one
scene graph.
2002-04-22 09:37:17 +00:00
Don BURNS
33b4a4cb5f Fixed small typo in src/osgUtil/RenderStage.cpp 2002-04-19 15:02:34 +00:00
Robert Osfield
5deafbda24 Added clearing of seperation band between horizontal/vertical split stereo
areas.
2002-04-16 15:31:46 +00:00
Robert Osfield
6f65e86057 Further work on removing Camera references from NewCullVisitor and releted
classes, this work paves the way for making osg::Camera an optional
extra rather than a requirement for rendering.
2002-04-09 16:09:19 +00:00
Don BURNS
e0adca775b Reinstated Norman Vine's TARGET_BASENAME variable in the makefiles and
added prefixes and suffixes to libs and plugins.  ALl this to accomodate
cygwin...

Also added INST_SYS_PREFIX and INST_SHARE_PREFIX for installation, as well
as "standardizing" the install locations for the various platforms.
2002-04-03 17:42:12 +00:00
Robert Osfield
56cee8c711 Move the applying of Projection and ModelView matrices into osg::State so that
it now maintains references to the last applied matrices, automatically doing
lazy state updating.  This simplifies the various places in the OSG which
were previously doing the applying, add paves the way for managing the
projection matrix within the scene graph.

Remove MemoryAdapter and mem_ptr as they arn't being used, and can potentially
confuse users by their existance.
2002-03-29 17:26:40 +00:00
Robert Osfield
386b87d4a0 Cleand up the root Makefile.
Moved CullVisitor/RenderStage/RenderStageLighting across to managing lights
entirely within RenderStageLighting, and changed the management of modelview
matrices so that RenderLeaf now stores the absolute modelview matrix, rather
than a model matrix as done previously. The later allows RenderLeaf's to do
a glLoadMatrix rather than a glPushMatrix/glMultMatrix/glPopMatrix.
2002-02-11 19:51:24 +00:00
Robert Osfield
8aa72d85cf Updates to the camera code related to stereo, adding fusion distance. 2001-12-20 16:35:38 +00:00