Commit Graph

260 Commits

Author SHA1 Message Date
Robert Osfield
2a9d2bb25a Changed GraphicsWindowX11 so that it creates two Display* connextions to the Xserver,
one for the graphics thread, one for the main thread that querries events
2007-02-09 13:51:28 +00:00
Robert Osfield
19608966d0 Added the threading model to stats 2007-02-08 12:47:35 +00:00
Robert Osfield
b3b420de5d Updated the handling of closing of windows 2007-02-08 12:14:26 +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
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
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
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
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
056ce866b0 From André Garneau, "
* Setup proper pixel format for ATI boards (removal of WGL_SWAP_METHOD_ARB specification from the requested pixel format since unsupported by the ATI driver)

    * Fix to create sample OpenGL window on the proper display device. This is the temporary window used to choose the desired pixel format. In the previous version, this window was always created on the primary display device, even though it had potentially different pixel formats compared to the target display device containing the window to be created.

    * Implementation of WindowingSystemInterface::setScreenResolution() method

    * Implementation of WindowingSystemInterface::setScreenRefreshRate() method

    * Implementation of GraphicsWindow::requestWarpPointer() method

    * Implementation of GraphicsWindow::useCursor() method and associated trait support. This can be used in two ways; first, when the graphics trait requested indicates that no cursor should be present, a new cursor-less window class is used to create the window. When a cursor-enabled window creation is requested, another window class is used. After creation of a window, it is also possible to toggle the cursor state by using the GraphicsWindow::useCursor method.

    * The way the mouse behaves is now compatible with the behaviour seen on X11; i.e. when pressing a mouse button, the window where the pointer is located will capture the mouse input and release it only after the button has been released. This results in all mouse movement events being dispatched to the window where the button was pressed initially until it is released. This improves the interaction with graphics windows.



    * Preparation work has been done to support the ability of moving a window from one screen to another screen and recreating its rendering context when this happens. This has been tested with a mix of NVIDIA and ATI cards and works properly. For the moment being, this feature is commented out due to changes in the core OSG libraries that have been done but need to be submitted later this week for approval by Robert.



Upcoming features



    * Support for moving windows from one screen to another screen seamlessly



    * Ability to set the window (i.e. the application itself creates the rendering window and passes it to the GraphicsWindowWin32 class)



    * Other miscellaneous items"

---------------------------------------------------
2007-01-24 10:02:04 +00:00
Robert Osfield
691e4d7b88 Added ability to customize the keys used to control stats 2007-01-23 11:56:10 +00:00
Robert Osfield
affb8f1289 Moved StatsHandler into its own seperate header/source in osgViewer. 2007-01-23 11:01:20 +00:00
Robert Osfield
3ce53da0e1 From André Garneau, Implementation osg GraphicsWindowWin32 2007-01-17 14:21:18 +00:00
Robert Osfield
6cf85cb953 Cleaned up CompositeViewer interface and added event traversal of views 2007-01-16 19:18:32 +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
91968a9bec Improved handling of intersection computations on datasets with multiple cameras 2007-01-15 16:09:32 +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
785fd5c0d9 From Stephan Huber, "New features:
+ Multi-display-support
+ automatic hiding of the menubar/dock if one of the windows intersects
the menubar/dock

Bugfixes:
+ event-handling was done by the first opened window, other windows did
not receive events -- fixed
+ mouse-coordinates were absolute, now they are relative to the window.

known bugs:
+ windows with decoration and in fullscreen-size are moved by the system
a little bit, so that the titlebar is accessible/visible. So if you want
real fullscreen-windows, don't decorate the window :)

I updated the XCode-project-file so all ported examples are linked
against osgViewer."
2007-01-12 21:33:19 +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
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
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
0cd64c8c4f Added View::setUpViewOnSingleScreen(uint) method to help set up view on
a single full screen window
2007-01-06 21:06:35 +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
23ac972d4e Added a workaround for computing the time of an event. 2007-01-05 13:01:08 +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
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
0ec854a365 Added support for starting and stopping osgViewer::Viewer threading and
automatic handling of windows being closed.
2007-01-04 11:49:15 +00:00
Robert Osfield
23206270e0 Added catch of window close 2007-01-03 23:00:05 +00:00
Robert Osfield
4f87afdbf5 Improved the robustness of thread start and cancellation 2007-01-03 16:06:12 +00:00
Robert Osfield
f14aa7ef66 Added support for different threading models in osgViewer::Viewer 2007-01-02 17:39:31 +00:00
Robert Osfield
d068f7025a Added support for getting all windows and hiding the cursor 2007-01-02 12:50:57 +00:00
Robert Osfield
7155f7d1b0 Various work on osgViewer library, including warp point and graphics window resize support 2007-01-01 18:20:10 +00:00
Robert Osfield
96071fd1b1 Removed osgViewer::GraphicsWindowProxy as its was causing wrapper compile
problems and also no longer has a key role in osgViewer.
2006-12-28 08:16:36 +00:00
Robert Osfield
791d884b44 Added GraphicsWindowWin32 and GraphicsWindowCocoa classes, curently not implmented,
but added as a placeholder for members of the community to step forward and implement.
2006-12-27 15:04:04 +00:00
Robert Osfield
6a74240d22 Various tweaks to keep in sync with new changes to osg::Timer and osgGA::EventQueue 2006-12-26 17:38:47 +00:00
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
bd6b7d581e Implemented perliminary multi-threading support in osgViewer::Viewer 2006-12-22 17:46:21 +00:00
Robert Osfield
4fc9af7ea0 Moved rendering support into GraphisContext, osgViewer::Viewer/View, and
added frame stamp updating and update traversal to osgViewer::Scene/Viewer.

Updated osgcamera example to use new Viewer API calls instead of using local
rendering calls.
2006-12-21 16:56:20 +00:00
Robert Osfield
8f9d2eeb46 Cleaned up the includes in the GraphicsWindowX11 header 2006-12-21 12:24:20 +00:00
Robert Osfield
a56d273fe3 Moved the implementation of GraphicsWindowX11 from the head into the src/osgViewer directory. 2006-12-21 12:19:14 +00:00
Robert Osfield
7772da71eb Improved the handling of moving the mouse pointer across screens, and add
grab focus support that honours where the mouse pointer was originally.
2006-12-21 11:20:42 +00:00
Robert Osfield
2255771b74 Further work osgViewer::Viewer and related classes. 2006-12-20 21:13:29 +00:00
Robert Osfield
61f8827a6d Added Copyright notice 2006-12-19 16:47:15 +00:00
Robert Osfield
dcebe4daa0 Added initial GraphicsWindowX11 implementation, and fleshed out more of the
osgViewer and osg::GraphicsContext/osg::View infrastructure.
2006-12-19 16:00:51 +00:00
Robert Osfield
3f0c9caa48 Cleaned up inheritance 2006-11-29 10:51:10 +00:00
Robert Osfield
b6e1924192 Fixed build errors in osgViewer 2006-11-28 20:35:31 +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
b400a2738b Reordered methods to make associated functions clearer. 2006-11-21 16:15:42 +00:00
Robert Osfield
e0f395fd07 Moved SimpleViewer and GraphicsWindow into their own osgViewer library, updated simpleviewer examples to reflect this change 2006-11-02 12:27:15 +00:00