Robert Osfield
91ab187ee1
Added checks into Viewer set up of Camera stats so that stats are reused if already present.
...
Added use of ref_ptr<osg::Stats> into StatsHandler's callbacks
2007-02-15 01:45:44 +00:00
Robert Osfield
87ff8e2b55
Added support for sharing context to GraphicsWindowX11
2007-02-14 20:14:45 +00:00
Robert Osfield
f82c34ff11
Added getState()->setGraphicsContext(this); to the various GrpahicsWindow implementations
2007-02-14 17:28:33 +00:00
Robert Osfield
d81d579f07
Changed the report of lack of WGL_SWAP_METHOD_ARB so that it is INFO rather than WARN.
2007-02-14 14:58:46 +00:00
Robert Osfield
ff126c3d1d
Added OSG_RUN_FRAME_COUNT env var which enables a limited run of specified
...
frame numbers when Viewer::run is called.
2007-02-14 14:36:38 +00:00
Robert Osfield
115cf528a1
Removed debugging run method.
2007-02-14 12:00:33 +00:00
Robert Osfield
89c99a88fa
Added computeDataVariance method into osg::Object and implementations in Drawable and StateSet,
...
and calling of osgUtil::StaticObjectDetectionVisitor in osgViewer::Viewer
2007-02-14 11:24:42 +00:00
Robert Osfield
1138c312b7
Changed the DeleteHandler so by default it doesn't cache objects
2007-02-13 17:39:42 +00:00
Robert Osfield
fe67a91e83
Added OSG_THREADING environmental variable to osgViewer::Viewer::suggestBestThreadingModel
2007-02-13 16:03:35 +00:00
Robert Osfield
d5f2a35a20
Added automatic scaling and translation of help to make sure it always
...
fits on screen
2007-02-12 13:51:24 +00:00
Robert Osfield
fe177e42d5
Added osgViewer::HelpHandler
2007-02-12 13:39:18 +00:00
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
162d08f541
Added #if #else #endif blocks to Viewer::realize() and run() for the purposes of testing
2007-02-09 13:36:44 +00:00
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
19608966d0
Added the threading model to stats
2007-02-08 12:47:35 +00:00
Robert Osfield
0c59589038
Added check in setThreadingModel so that it only sets up threading if the viewer is realized
2007-02-08 12:21:37 +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
34847e4135
Added better clean up of paramters on X display in GraphicsWindowX11:closeImplementation
2007-02-08 11:30:57 +00:00
Robert Osfield
10593edfd0
From Stefan Eilemann, addd more extensive XErrorHandler output
2007-02-08 11:26:04 +00:00
Robert Osfield
6d323f235a
Added setting of the DatabasePager's affinity.
2007-02-08 11:24:29 +00:00
Robert Osfield
2826dafa80
From Stephan Huber, "thomas kirk schrieb:
...
> I put this at the end of realizeImplementation; someone with better knowledge
> of Carbon programming may see a more appropriate place for the call.
I moved your code into the ctor of the OSXCarbonWindowingSystemInterface
so it get called only once. Can you test it again, if it works on your side?
I also disabled multithreaded-rendering because it slowed down the
rendering on my machine by a factor of 3. Perhaps we can make it
optional to test it on other machines.
I had some problems implementing pbuffer-support for os x and stopped it
for now until I have more time to investigate the issues.
"
2007-02-06 20:03:13 +00:00
Robert Osfield
e0163c6ae5
From André Garneau, "Attached is an improved Win32 keyboard handler that should now map key events similarly to the X11 implementation:
...
* Key event handler now reports left or right SHIFT, CTRL and ALT key variants on key press and release events."
2007-02-06 17:34:28 +00:00
Robert Osfield
c5776b1bf3
From Stefan Eileman, fixes for OSX gmake build to allow AGL or X11 implementation of osgViewer
2007-02-06 17:01:20 +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
03dbbd5048
Added automatic aspect ratio adjustmeent to View::setUpViewAcrossAllScreens() and setUpViewOnSingleScreen.
2007-01-30 15:37:30 +00:00
Robert Osfield
b8d98a2cfe
Added support for compute average stats attributes in inverse space to improve
...
the quality of frame rate reporting.
2007-01-30 13:48:04 +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
6835996c21
Added very simple relaxing of traits by dividing required red, green, blue, alpha and depth by 2.
2007-01-28 17:32:41 +00:00
Robert Osfield
af6de09ab4
Added set/getRealizeOperation() to Viewer and CompositeViewer
2007-01-28 17:11:21 +00:00
Robert Osfield
689578c13a
Added osg::PolygonMode to local StateSet to protect it from being affected by
...
stateset manipulator.
2007-01-27 17:57:58 +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
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
a7dcd3e9b6
Adde osgText dependency to osgViewer
2007-01-23 13:54:32 +00:00
Robert Osfield
781b3bd5c9
Made stats bars transparent and improved positioning
2007-01-23 13:28:49 +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
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
d60d04c8c4
From André Garneau, "Attached is a fix in the GraphicsWindowWin32 class to allow the following usage pattern to work properly; create window, delete window, create window, etc. In all the tests I made I was always creating-deleting and then shutting down the application so this pattern was untested. The osgtexture3d & osgsimulation examples were also using this pattern so would not work. They are working fine now."
2007-01-18 09:56: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
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
dad3deec38
Added debug messages
2007-01-16 17:08:47 +00:00
Robert Osfield
1ee2af9f41
Further work on CompositeViewer
2007-01-16 16:01:01 +00:00
Robert Osfield
0b40a6fc82
Added mouseWarped call into View::requestWarpPointer
2007-01-16 15:05:44 +00:00
Robert Osfield
46b9c19fb5
Further work on event handling in CompositeViewer
2007-01-16 14:15:49 +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
0d8efac569
Added setting of the update visitors' traversal number
2007-01-15 09:30:48 +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
5a515914bc
Moved the signalBeginFrame to the start of the rendering traversal.
2007-01-12 19:09:24 +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
c5082cb85c
Added support for vertex ratios into LineSegmentIntersector.
2007-01-10 10:40:12 +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
b039728bf1
Fixed typo
2007-01-09 09:14:25 +00:00
Robert Osfield
96b2b93edc
Build fixes
2007-01-08 22:54:02 +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
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
3d1c971bca
Removed commented out checkEvents calls
2007-01-05 12:22: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
Robert Osfield
73fffe1800
Made Refernced::setThreadSafeReferenceCounting(bool) a virtual then overrode
...
this in various scene graph classes to ensure that the scene graph gets
updated as well as the objects that the initialial call is made from.
2007-01-04 16:49:58 +00:00
Robert Osfield
a0374d7c85
Added glXDestryContext to help clean up OpenGL.
2007-01-04 14:34:53 +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
dda72a16e8
Changed default multi-screen setup to set up for a flat wall configuration
2007-01-02 12:03:48 +00:00
Robert Osfield
453cd7a4ef
Fixed version function names and comment strings
2007-01-02 10:31:38 +00:00
Robert Osfield
9004aa7f8b
Added missing init() implementation
2007-01-02 10:11:53 +00:00
Robert Osfield
8ce8061dbe
Added mouseWarped update
2007-01-01 20:01:45 +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
b2a0b50a5a
Improved handling of window input ranges for single window apps
2006-12-27 20:23:34 +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
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
bd6b7d581e
Implemented perliminary multi-threading support in osgViewer::Viewer
2006-12-22 17:46:21 +00:00
Robert Osfield
28fb22568c
Added basic support for DatabasePager into osgViewer::Viewer
2006-12-21 17:23:07 +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
21de9e4acc
Removed erroneous double GraphicsContext::
2006-12-21 09:01:56 +00:00
Robert Osfield
2255771b74
Further work osgViewer::Viewer and related classes.
2006-12-20 21:13:29 +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
0db9fc45dd
From Orhun Birsoy, "In SimpleViewer::frameUpdateTraversal function, orthographicCamera calculation has some typos. It should read
...
bool orthographicCamera = (pm(0,3)==0.0) && (pm(1,3)==0.0) && (pm(2,3)==0.0) && (pm(3,3)== 1.0); "
2006-12-14 16:13:27 +00:00
Robert Osfield
35cb04437d
Added dummy virtual method implementations
2006-11-29 11:00:02 +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
1bb7da6085
Added check against null SceneData to prevent crash with empty models
2006-11-14 09:54:21 +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