Commit Graph

1973 Commits

Author SHA1 Message Date
Robert Osfield
c2665963bb Further work on osgShadow::ShadowTechnique API 2007-02-08 19:34:38 +00:00
Robert Osfield
95befaf1ed Flesh out more of basic ShadowTechnique and ShadowedScene API. 2007-02-08 17:23:40 +00:00
Robert Osfield
47622e6134 Fixed the FlattenStaticTransform visitor so that it excludes subgraphs that
contain PagedLOD nodes
2007-02-08 15:47:05 +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
958b8d74dd Changed the setting of need to traverse during the update traverse so it is only enabled when animation is switched on. 2007-02-07 21:48:53 +00:00
Robert Osfield
c52207b637 Added new Transform::ReferenceType enum ABSOLUTE_RF_INHERIT_VIEWPOINT to support
internal RTT cameras that wish to use the main cameras view/eye point for LOD and other
distance based tests.
2007-02-07 16:32:14 +00:00
Robert Osfield
3de205ec45 Added new Viewer threading model options 2007-02-06 14:38:08 +00:00
Robert Osfield
424bc9b997 Clean up getDrawable() method 2007-02-06 14:20:04 +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
ebd68ba063 Added Camera's s/getCameraThread() and updated wrappers 2007-02-05 13:44:16 +00:00
Robert Osfield
98b0eb889a From Brede Johansen, added OSG_EXPORT to DeleteHandler for windows build 2007-02-05 10:48:20 +00:00
Robert Osfield
4914d3974a From Paul Martz, "Here's my changes to Registry to allow extension alias mapping via a config file. I also attached a sample file that tests the parsing, but this is just FYI and not for inclusion in CVS.
To set up extension aliases using a config file, an app calls:
osgDB::Registry::instance()->readPluginAliasConfigurationFile(), passing in the file name as the parameter. (Of course this should be done before loading any files whose names depend on the mapping.) osgDB will search for the file using OSG_FILE_PATH.

The file should contain a line for each mapping, with the "map" extension first, followed by a space or tab, then the plugin identifier. For example, a file containing this line:

flt OpenFlight

would map the ".flt" extension to the OpenFlight plugin."
2007-02-05 10:44:10 +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
f8213d1c53 Updated wrappers 2007-01-30 14:47:13 +00:00
Robert Osfield
77b9a7ae19 From Eric Sokolwsky, "osgText is a useful node kit, but when longer paragraphs are displayed
on the screen, it looks more aesthetically pleasing to have a larger
gap between lines than is given by default. I added a new parameter,
lineSpacing, in the Text class to allow the line spacing to be adjustable
by the application. The default value is 0 meaning there is no extra
spacing given. The value should be given as a percentage of the character
height. A good value for longer paragraphs is 0.25 (25%) or more."
2007-01-30 14:32:12 +00:00
Robert Osfield
35c720420e From Bryan Thrall, "The osgDB::ReaderWriter and osgDB::ReaderWriter::Options classes have
copy constructors that take a const osg::CopyOp rather than a
osg::CopyOp&, forcing an unnecessary copy. The attached header fixes
this, based off OSG 1.2.

Also fixed duplicate "or" openArchive()'s comment."
2007-01-30 14:18:39 +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
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
60b5c68221 From Vlad Danciu, fixed leaf depth sort functor 2007-01-28 09:30:11 +00:00
Robert Osfield
9168d1130e From Mike Wittman, "This file removes the virtual destructor of osgText::String. It seemed wrong that osgText::String should have a vtable since it is treated like a value type, and any subclasses containing additional data would effectively be subject to slicing during standard usage. This stuck out as an anomaly when classifying the OSG types for C# bindings." 2007-01-28 09:17:10 +00:00
Robert Osfield
27f6f7c790 Added access methods to PositionStateContainer 2007-01-27 14:27:54 +00:00
Robert Osfield
5bf2dfe3b1 Added _sorted flag into RenderBin to prevent a bin being sorted twice in one frame 2007-01-27 12:54:33 +00:00
Robert Osfield
36330f7e40 Changed osgUtil::RenderBin and osg::State to allow nesting of StateSet's associated with RenderBin's. 2007-01-27 11:13:01 +00:00
Robert Osfield
0c5e9e5a2e Added Program pointer to help with uniform apply. 2007-01-26 16:08:52 +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
a01cade782 Added setHandled/getHandled to osgGA::GUIEventAdapter 2007-01-24 12:21:29 +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
055abec7a3 Added osg::StateSet* parameter to constructor to make it more convinient to set
up the StateSetManipulator and moved the initialization of locally cached states
into the handle method to ensure a representative version of the StateSet is captured
2007-01-23 16:26:15 +00:00
Robert Osfield
45dea96d75 Added #define of GL_QUERY_RESULT and GL_QUERY_RESULT_AVAILABLE 2007-01-23 16:02:37 +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
d6ecce6f5f Improvements to stats 2007-01-22 11:22:37 +00:00
Robert Osfield
b47ef11d74 Initial on screen stats support 2007-01-21 18:24:54 +00:00
Robert Osfield
15a3972be0 Added OSG_EXPORT to Stats to fix Windows build 2007-01-20 09:03:58 +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
a90206bcbb Added EXT_timer_query support 2007-01-19 14:41:29 +00:00
Robert Osfield
ccc8a922a6 Added osg::StencilTwoSided state attribute to wrap up the stencil_two_sided extension.
Added path in osgShadow work for using StencilTwoSided to accelerate shadow volume rendering.
2007-01-18 22:32:18 +00:00
Robert Osfield
ba9e355550 Added support for stencil GL_INCR_WRAP and GL_DECR_WRAP operations 2007-01-18 17:00:42 +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
3ebc5efe05 From Joakim Simonsson, added osgDB::concateFile and osgDB::getRealPath.
Tweaks by Robert Osfield - Moved methods to FileNameUtils, added unix
implementation of getRealPath add extern and OSGDB_EXPORT to function declarations.
2007-01-17 15:59:29 +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