Commit Graph

69 Commits

Author SHA1 Message Date
Robert Osfield
4f79634bcd From André Garneau, "Attached is a fix for the hang occuring on Win32 when the thread model is changed.
The issue was caused by the mutex in the ViewerDoubleBufferRenderingOperation being released even though they were not owned. This was causing the underlying critical section object lock count values becoming negative; the next time the lock was acquired it would block because of that."
2007-02-08 22:36:16 +00:00
Robert Osfield
9eb4beea52 Fixed setThreadModel method so that is doesn't try to set up threading unless
the viewer is realized
2007-02-08 12:20:40 +00:00
Robert Osfield
b3b420de5d Updated the handling of closing of windows 2007-02-08 12:14:26 +00:00
Robert Osfield
6d323f235a Added setting of the DatabasePager's affinity. 2007-02-08 11:24:29 +00:00
Robert Osfield
2236c0576e Re-enabled processor affinity 2007-02-06 16:23:19 +00:00
Robert Osfield
3de205ec45 Added new Viewer threading model options 2007-02-06 14:38:08 +00:00
Robert Osfield
bad2a4cc7c Further work on support for ThreadPerCamera, and improved the efficiency of SingleThraeded 2007-02-06 11:03:13 +00:00
Robert Osfield
cfe737c552 Tweak API and updated wrappers to get wrappers to build 2007-02-05 14:56:41 +00:00
Robert Osfield
69da91620f Convert GraphicsThread/GraphicsOperation to more generic OperationsThread/Operation.
This paves the way to running cull traversals in seperate threads.

Updated wrappers
2007-02-02 22:30:36 +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
158921574c Improved the toggling on/off of thrading modes 2007-02-01 11:07:53 +00:00
Robert Osfield
8dfc5155f4 Further work on new threading model. 2007-01-31 22:24:20 +00:00
Robert Osfield
019cdd9116 Removed old #if #else #end block 2007-01-31 11:12:58 +00:00
Robert Osfield
493f799a6e Refactored the ViewerRenderingOperation so that the timer querry code is in a separate ViewerQuerySupport class 2007-01-30 17:38:02 +00:00
Robert Osfield
ecedc8d86a Added Stats::collectStats(string,bool) controls, getAveragedAttribute methods into osg::Stats class, and
related support into osgViewer::Viewer and osgViewer::StatsHandler.

Added lazy updating of text in StatsHandler HUD to minimize the impact of
slow text updating on observed frame rates.
2007-01-30 11:40:23 +00:00
Robert Osfield
b887226775 Made _useMainThreadForRenderingalTraversal(false) 2007-01-29 22:59:04 +00:00
Robert Osfield
fd0ea388c2 Began work on providing support for threading camera cull traversals in parallel with
the previous frames draw traversal.  Changes range from osg::State, through osgUtil::RenderBin, through to osgViewer
2007-01-29 22:44:29 +00:00
Robert Osfield
af6de09ab4 Added set/getRealizeOperation() to Viewer and CompositeViewer 2007-01-28 17:11:21 +00:00
Robert Osfield
7232a831da Added osg::FrameStamp::set/getSimulationTime().
Added setting of osg_SimulationTime and osg_DeltaSimulationTime to the uniforms set by SceneView

Added frame(double simulationTime) and advance(double simulationTime) parameters to
osgViewer::SimpleViewer, Vewer and CompositeViewer.

Updated various examples and Nodes to use SimulationTime where appropriate.
2007-01-25 12:02:51 +00:00
Robert Osfield
fd6f5c87b8 Added support for GUIEventAdapter::setHandled 2007-01-24 12:28:18 +00:00
Robert Osfield
71f307c5b2 Further work on GPU stats 2007-01-22 21:16:51 +00:00
Robert Osfield
52e86aaea3 Further work on stats 2007-01-22 17:39:32 +00:00
Robert Osfield
d6ecce6f5f Improvements to stats 2007-01-22 11:22:37 +00:00
Robert Osfield
8e20956511 Changed the camera with focus code to only accept cameras with valid views
as ones that can recieve focus.
2007-01-21 18:34:26 +00:00
Robert Osfield
b47ef11d74 Initial on screen stats support 2007-01-21 18:24:54 +00:00
Robert Osfield
41a0226a8f Added stats for update, event and rendering traversals 2007-01-19 20:25:17 +00:00
Robert Osfield
f0e2404541 Added new osg::Stats class for collecting frame stats of different sorts.
Added s/getStats() to osg::View and osg::Camera.
Added population of View::getStats() with frame stats in osgViewer/Viewer.
Added Basic StatsHandler to osgviewer example.
2007-01-19 19:53:23 +00:00
Robert Osfield
552293eb03 Added extra methods WindowSystemInterface for controlling frame rate and resolution, and adde useCursor flag. 2007-01-17 21:11:57 +00:00
Robert Osfield
1ee2af9f41 Further work on CompositeViewer 2007-01-16 16:01:01 +00:00
Robert Osfield
0873a8cea0 Work on CompositeViewer and related calsses to implement viewers with multiple views 2007-01-16 08:56:33 +00:00
Robert Osfield
b06dbda224 Added FramStamp into osgViewer::Viewer and added ability to handle setSceneData
during during the application running.
2007-01-15 14:46:16 +00:00
Robert Osfield
694b304c00 Added Viewer::setEndBarrierPosition method, change Viewer::setKeySetsDone(int) to setKeyEventSetDone(int),
added support for toggling threading model and end barrier position into osgviewer
2007-01-12 21:05:39 +00:00
Robert Osfield
509ac7fb1a Add manually sync of the EventQueue's startTick with the osg::Timer::startTick 2007-01-12 14:45:10 +00:00
Robert Osfield
5c78d06dad Added a default StateSet to osg::View's master Camera. Wired up osgViewer::Viewer so
that the master Camera's StateSet is passed to osgUtil::SceneView to use as its global StateSet.
2007-01-12 12:10:06 +00:00
Robert Osfield
b961179d83 Added setting of DisplaySettings 2007-01-11 17:00:09 +00:00
Robert Osfield
374f8e30a4 Added DisplaySettings support into osgViewer::Viewer 2007-01-11 12:06:24 +00:00
Robert Osfield
4954262eb0 Added View::computeIntersection implementation for a node withing a scene graph. 2007-01-10 10:09:05 +00:00
Robert Osfield
4d4b342e97 Added View::computeIntersections methods 2007-01-09 17:35:46 +00:00
Robert Osfield
d6d1a46db9 From Stephan Huber, GraphicsWindowCarbon implementation 2007-01-09 10:06:20 +00:00
Robert Osfield
462803fd57 From Paul Martz, speeling fixes for Tessellator/Tessellation. 2007-01-08 21:29:49 +00:00
Robert Osfield
16d1c00a3d Changed the return types of makeCurrent to bool, and added a bool GraphicsContext::releaseContext method
along with implementations in osgViewer.
2007-01-08 19:29:59 +00:00
Robert Osfield
4a5eda6522 Added GraphicsContext::ResizedCallback and GraphicsContext::resizedImplementation.
Added message on non implementation of GraphicsContext::valid().
Added prelimary GraphicsContext clean up support.
2007-01-08 16:20:10 +00:00
Robert Osfield
fea694a0bf Ported osgcluster to osgViewer. 2007-01-05 21:19:01 +00:00
Robert Osfield
9a4209c61b Simplified the nameing of updateTraversal etc methods 2007-01-05 16:48:04 +00:00
Robert Osfield
fc07efa656 Added int return type of Viewer::run(). 2007-01-05 13:16:24 +00:00
Robert Osfield
552bda4cc5 Added Viewer::isRealized() and run() methods to make it easier to
set up and run a viewer, taking care of realized() calls if not already
done, and assigning trackball manipulator if not already assigned.
2007-01-05 10:59:23 +00:00
Robert Osfield
0985a06572 Moved the set of GraphicsContext RenderingOperations into Viewer. 2007-01-04 21:49:02 +00:00
Robert Osfield
fc061f7b15 In Viewer::realize() added default fallback of calling setUpViewAcrossAllScreens()
when no windows have previously been set up.
2007-01-04 21:35:11 +00:00
Robert Osfield
1fd2047cf5 Added Viewer::setKeySetsDone(int) to allow developers to specify which
key should set done and cause the main loop to exit.
2007-01-04 21:28:16 +00:00
Robert Osfield
cb65524851 Changed debug messages to INFO 2007-01-04 21:18:03 +00:00