Robert Osfield
e4b1b6228d
From Tim Moore, "This patch fixes a race condition in Renderer::ThreadSafeQueue that was causing some notifications of available SceneView objects to be missed. I saw a very noticeable performance problem (60 fps -> 8 fps) in DrawThreadPerContext mode in an osgEarth application before this patch. I had high hopes that this change might fix the much-discussed multiple GPU problem; no such luck, but I think the root cause of that is probably a similar threading issue."
2011-01-11 16:58:17 +00:00
Robert Osfield
410b4fd109
Converted FrameStamp::g/setFrameNumber from int to uint
2010-12-22 20:11:05 +00:00
Robert Osfield
017a03ffe5
Refactor of DatabasePage/IncrementalCompileOperation to use the IncrementalCompileOperator for compiling objects
2010-12-10 15:27:19 +00:00
Robert Osfield
1bd55d732d
From Tim Moore, fix to stats timing
2010-11-25 13:00:24 +00:00
Robert Osfield
043ae090a5
From Tim Moore, Fix for drivers that don't properly support timer extensions.
...
""
2010-11-24 10:38:28 +00:00
Robert Osfield
68f37c4dcb
From Tim More and Robert Osfield, implementation of ARB_timer_query based GPU timing stats syncronization.
...
Initial email from Tim : "I've implemented using a timestamp, available with ARB_timer_query and OpenGL 3.3, to gather GPU stats. This is nice because it can accurately fix the GPU draw time with respect to the other times on the stats graph, rather than having to estimate the wall time of the end of GPU drawing. This also prevents anomalies like the GPU phase starting before the draw phase..."
Changes to Tim's submission by Robert: Removal of need for swap buffer callback in ViewerBase.cpp, by
integrating a osg::State::frameCompleted() method that does the stats timing collection. Introduction of a
GraphicsContext::swapBuffersCallbackOrImplementation() method that calls the State::frameCompleted() and
the swap buffers callback or the swapImplementation as required.
2010-11-10 16:58:58 +00:00
Robert Osfield
9978516bf7
Added number of primitive sets to on screen stats
2010-10-25 13:42:01 +00:00
Robert Osfield
cbc43841e1
From Roland Smeenk, "this submission adds a "Fast Drawable" line to the camera scene statistics.
...
It shows the total number of sorted and unsorted drawables that use the fastpath for rendering."
2010-09-09 10:03:58 +00:00
Robert Osfield
ddf5668809
conversion of osg::notify to OSG_INFO etc.
2010-05-28 15:56:43 +00:00
Robert Osfield
c2a59415ce
Changed DisplaySetting::instance() to return a ref_ptr<>& rathern than a raw C pointer to enable apps to delete the singleton or assign their own.
2010-04-30 11:48:30 +00:00
Robert Osfield
7c38643a77
From Tim Moore, "I noticed that the "Materials" statistic in the camera scene stats display seemed to be identical to the number of drawables. In fact, it displays the nummat member of osgUtil::Statistics, but that variable has nothing to do with materials. nummat tracks the number of matrices associated with Drawable objects in a RenderBin; as I understand it, Drawables pretty much always have a model-view matrix tied to them in RenderBins, so this statistic doesn't seem very useful. So, I added statistics for the number of StateGraph objects in RenderBins and also for the number of Drawables in the "fine grain ordering" of RenderBins. The latter corresponds to the number of Drawables in the scene that are sorted by some criteria other than graphics state; usually that is distance for semi-transparent objects, though it could be traversal order. These two statistics give an idea of the number of graphic state changes happening in a visible scene: each StateGraph implies a state change, and there could be a change for each sorted object too. You can also subtract the number of sorted Drawables from the total number of Drawables and get an idea of how many Drawables are being drawn for each StateGraph.
...
"
2010-04-20 10:59:44 +00:00
Robert Osfield
c0e9fcbb67
From Tim Moore, "This contains a couple of fixes to support changing FrameBufferObject configurations on the fly; the user changes the camera attachments and calls Renderer::setCameraRequiresSetUp(). The major part of this submission is a comprehensive example of setting up floating point depth buffers. The user can change the near plane value and cycle through the available combinations of depth format and multisample buffer formats."
2010-04-19 11:43:06 +00:00
Robert Osfield
f17e401347
Convert NOTIFY to OSG_NOTIFY to avoid problems with polution of users apps with the NOTIFY macro
2010-02-10 12:44:59 +00:00
Robert Osfield
8d8037ee12
Converted osg::notify usage to NOTIFY
2010-02-09 18:24:37 +00:00
Robert Osfield
f795770fed
Added support for passing on slave Camera's StateSet's to the rendering backend.
2010-01-21 10:24:48 +00:00
Robert Osfield
5b236c685b
Added state.checkGLErrors() calls to help in debugging of GLES 2 port
2009-11-10 11:34:31 +00:00
Robert Osfield
3d75054e2c
Preliminary work on support for a texture object pool that is designed to help manage resources down the GPU more tightly.
2009-09-22 18:45:24 +00:00
Robert Osfield
aa69137fb8
Added collateReferencesToDependentCameras() and clearReferencesToDependentCameras() methods into RenderStage and SceneView, and use
...
of these methods in src/osgViewer/Renderer.cpp to make sure that the draw thread keeps references to all in scene graph Cameras
that are being used by the drawing threads, to keep the Camera's alive even when the main thread removes these Cameras from the scene graph.
2009-06-05 19:05:37 +00:00
Robert Osfield
48f683ec3f
Ported onscreen camera stats across to using thread safe stats collection
2009-01-26 21:23:09 +00:00
Robert Osfield
288e1853b9
Fixed warnings
2008-12-17 17:11:13 +00:00
Robert Osfield
6524788516
Added handling of View::LightingMode
2008-11-21 17:44:16 +00:00
Robert Osfield
60af3fd6fc
Fixed typo
2008-11-07 17:23:55 +00:00
Robert Osfield
041a06b89d
Further work on osg::ImageSequence/osgDB::ImagePager
2008-07-21 21:00:57 +00:00
Robert Osfield
100cc12ecb
Moved the compile to after the updateSceneView
2008-05-20 09:28:44 +00:00
Robert Osfield
4d7b2edd4c
Moved compile setup from osgViewer::ViewerBase into osgViewer::Renderer to
...
avoid threading issues associated with compile running in a parallel with
update/cull on the first frame.
Also added automatic recompile when a new SceneData is applied to a View.
2008-05-10 17:04:02 +00:00
Robert Osfield
922dcb0423
Added new computation of time to allocate to flushing deleted and compiling OpenGL objects per frame.
2008-04-16 18:13:41 +00:00
Robert Osfield
e26579b0ec
Moved the delete operations to before of the compile operations to ensure that
...
delete operations don't get pushed out by allocations
2008-02-28 17:59:44 +00:00
Robert Osfield
046481ee6e
From Bryan Thrall, "moved the prints to a higher notify level
...
(DEBUG_FP) so they are only printed at the most verbose level."
2008-02-18 13:47:38 +00:00
Robert Osfield
f4afa427a7
From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)."
2007-12-10 17:30:18 +00:00
Robert Osfield
b2d131c143
Updated wrappers, and change Renderer so that private: to proteccted:.
2007-08-26 09:46:49 +00:00
Robert Osfield
cc6ac2704e
Added setting of block into the ThreadSafeQueue's contructor.
2007-08-24 10:58:08 +00:00
Robert Osfield
a3ce9f680a
From Stephan Huber, fix for crash on exit
2007-08-23 14:35:04 +00:00
Robert Osfield
f8ac71d7e5
Addd control for serializing draw dispatch.
2007-08-23 11:00:12 +00:00
Robert Osfield
1694cf9625
Refactored the implementation of cull/draw for DrawThreadPerContex and CullThreadPerCameraDrawThreadPerContex
...
and added an experimental draw serialization.
2007-08-22 17:17:25 +00:00
Robert Osfield
0e475106dc
Updated wrappers
2007-08-10 17:44:54 +00:00
Robert Osfield
7366daca91
Refactored the way the Scene is used in Viewer and CompositeViewer to ensure
...
that only on Scene exists per scene graph.
2007-08-10 10:52:35 +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
c346f5b943
Introduce new osgViewer::Renderer class for implementing of the rendering
...
of cameras in viewers
2007-08-02 11:02:47 +00:00