Commit Graph

71 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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