OpenSceneGraph/include
Robert Osfield 9d0c950bb0 From Colin McDonald, "Attached is an updated to osgViewer::PixelBufferWin32.
The win32 pbuffer implementation returned an error unless both the
WGL_ARB_pbuffer and the WGL_ARB_render_texture functions were present.
This was too restrictive, as a pbuffer can usefully be created without
render-to-texture, e.g. for use with glReadPixels.  The osg 1.2/Producer
pbuffers worked without RTT, and osgUtil::RenderStage has all the code to
handle both RTT and non-RTT pbuffers, doing a read and copy in the
latter case.

With these changes I have successfully tested the osgprerender example
on a graphics card which supports RTT, and one which doesn't.  Plus
tested in my own application.

In order to aid diagnostics I have also added more function status
return checks, and associated error messages.  I have included the win32
error text in all error messages output.  And there were some errors
with multi-threaded handling of "bind to texture" and a temporary window
context which I have corrected.

These is one (pre-existing) problem with multi-threaded use of pbuffers
in osgViewer & osgprerender, which I have not been able to fix.  A win32
device context (HDC) can only be destroyed from the thread that created
it.  The pbuffers for pre-render cameras are created in
osgUtil::RenderStage::runCameraSetUp, from the draw thread.  But
closeImplementation is normally invoked from the destructor in the main
application thread.  With the additional error messages I have added,
osgprerender will now output a couple of warnings from
osgViewer::PixelBufferWin32::closeImplementation() at exit, after
running multi-threaded on windows.  I think that is a good thing, to
highlight the problem.  I looked into fixing it in osgViewer::Renderer &
osgUtil::RenderStage, but it was too involved for me.  My own
application requirements are only single-threaded.

Unrelated fix - an uninitialised variable in
osg::GraphicsThread::FlushDeletedGLObjectsOperation().
"
2008-03-04 16:39:44 +00:00
..
osg From Art Trevs, add support for saving external shader files. 2008-03-04 14:04:48 +00:00
osgDB From Art Trevs, add support for saving external shader files. 2008-03-04 14:04:48 +00:00
osgFX From David Callu, improved consistency of Version strings and add version support 2007-09-05 17:12:24 +00:00
osgGA From Bryan Thrall, "UFOManipulator ignores any attached CoordinateFrameCallback; the 2007-12-21 14:21:21 +00:00
osgIntrospection From Emmanuel Roche, "I'm joining two zip files to this mail for the modified sources and include files of osgIntrospection. 2008-02-25 16:26:30 +00:00
osgManipulator Changed method parameter to use const & 2008-02-25 14:27:57 +00:00
osgParticle From Alberto Luaces, "it seems that include/osgParticle/BoxPlacer was created from the SectorPlacer 2007-12-11 11:37:03 +00:00
osgShadow Added separate unform variable to keep track of abmient contribution. 2007-12-15 15:19:18 +00:00
osgSim Added copy operator to ShapeAttribute to prevent problems when assigned them or use within a vector 2007-12-13 12:30:31 +00:00
osgTerrain Refactored osgTerrain so that the interface for setting up layer is more straight forward, and added support into GeometryTechnique for handling multiple layers 2008-02-22 11:52:23 +00:00
osgText Refactored the mutex usage in osgText and freetype plugin to prevent multi-thread crash 2008-02-25 12:54:54 +00:00
osgUtil From Jean-Sebastien Guay, added OSGUTIL_EXPORT for Windows build 2008-01-10 11:08:11 +00:00
osgViewer From Colin McDonald, "Attached is an updated to osgViewer::PixelBufferWin32. 2008-03-04 16:39:44 +00:00