Robert Osfield
6a67be2e32
Introduced CMake option OSG_PROVIDE_READFILE option that defaults to ON, but when switched to OFF disables the building of the osgDB::read*File() methods,
...
forcing users to use osgDB::readRef*File() methods. The later is preferable as it closes a potential threading bug when using paging databases in conjunction
with the osgDB::Registry Object Cache. This threading bug occurs when one thread gets an object from the Cache via an osgDB::read*File() call where only
a pointer to the object is passed back, so taking a reference to the object is delayed till it gets reassigned to a ref_ptr<>, but at the same time another
thread calls a flush of the Object Cache deleting this object as it's referenceCount is now zero. Using osgDB::readREf*File() makes sure the a ref_ptr<> is
passed back and the referenceCount never goes to zero.
To ensure the OSG builds when OSG_PROVIDE_READFILE is to OFF the many cases of osgDB::read*File() usage had to be replaced with a ref_ptr<> osgDB::readRef*File()
usage. The avoid this change causing lots of other client code to be rewritten to handle the use of ref_ptr<> in place of C pointer I introduced a serious of
templte methods in various class to adapt ref_ptr<> to the underly C pointer to be passed to old OSG API's, example of this is found in include/osg/Group:
bool addChild(Node* child); // old method which can only be used with a Node*
tempalte<class T> bool addChild(const osg::ref_ptr<T>& child) { return addChild(child.get()); } // adapter template method
These changes together cover 149 modified files, so it's a large submission. This extent of changes are warrent to make use of the Object Cache
and multi-threaded loaded more robust.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15165 16af8721-9629-0410-8352-f15c8da7e697
2015-10-22 14:14:53 +00:00
Robert Osfield
0a1db3d6fc
From Jannik Heller, typo fixes
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14832 16af8721-9629-0410-8352-f15c8da7e697
2015-04-13 10:43:56 +00:00
Robert Osfield
d18250da59
Replaced .osg with .osgt file usage
2011-06-14 16:54:20 +00:00
Robert Osfield
7146f8a62f
Added check for Geometry pointer being valid
2009-11-26 10:12:38 +00:00
Robert Osfield
e5b76975a9
For testing purposes added code path and options for testing viewer creation in series, including with enabling of VBO's. Options are:
...
osgcamera -r 5 --vbo cow.osg
Which repeats construction of the viewer 5 times in a row, and enables VBO, and on each repeat a new model is loaded.
osgcamera -r 2 --vbo --shared cow.osg
Which repeats construction of the viewer 2 times in a row, and enables VBO, and on each loads the model once and shares it between each instance of the viewer.
2009-11-25 16:31:14 +00:00
Robert Osfield
90bd49100f
Added support for repeating viewer construction
2009-11-25 16:20:25 +00:00
Robert Osfield
cc0f1cb0fe
From Martin Lavery and Robert Osfield, Updated examples to use a variation of the MIT License
2007-06-12 14:20:16 +00:00
Robert Osfield
b48ed1a4d4
Improved the set up of static build, added freetype plugin to plugins that support static usage
2007-06-10 09:51:29 +00:00
Robert Osfield
7ce05f6d9d
Added default file in case no file arguments are provided. Changed to use
...
standard ThreadingHandler by default.
2007-06-09 19:18:24 +00:00
Robert Osfield
5be86601bb
Removed old GNUmakefile.inst files
2007-04-10 13:58:18 +00:00
Robert Osfield
2e6ee4bb39
Removed old gmake and VisualStudio build files
2007-04-10 13:10:25 +00:00
Robert Osfield
d9a94f7890
Moved the TARGET_NAME setting into the SETUP_APPLICATION/EXAMPLE macro
2007-03-19 17:18:59 +00:00
Robert Osfield
da64127539
Ran dos2unix on CMakeLists.txt files.
2007-03-19 13:26:34 +00:00
Robert Osfield
be3f61c49f
From Luigi Calori, move to using local CMakeLists.txt files and explicit file lists.
...
From Robert Osfield, small ammendments of the above to seperate example and application installs, and fix the osgPlugins install directory.
2007-03-19 12:30:26 +00:00
Robert Osfield
f43cd7332c
Further work on add serialization support for osgViewer configurations
2007-02-25 20:05:23 +00:00
Robert Osfield
8b104a2136
Added -losgText to example that used osgViewer but didn't previously include -losgText
2007-02-13 20:32:45 +00:00
Robert Osfield
3de205ec45
Added new Viewer threading model options
2007-02-06 14:38:08 +00:00
Robert Osfield
91a4b0b71d
Reverted the FlightManipulator usage
2007-01-16 16:02:08 +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
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
b121c9686f
Ported following examples to osgViewer:
...
osgteapot
osgtessellate
osgtext
osgtexture1D
osgtexture2D
osgtexture3D
osgtexturerectangle
osgvertexprogram
osgvolume
osgwindows
osgsimple
osgkeyboardmouse
2007-01-11 15:19:59 +00:00
Robert Osfield
2bf5f56311
Tessellator name changes
2007-01-08 21:19:33 +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
9dc369eec2
Cleaned up graphics window setup and added clear graphics window to single window,
...
multiple camera setup.
2007-01-05 16:46:57 +00:00
Robert Osfield
a2599c5fb7
Ported osgbillboard over to osgViewer
2007-01-05 15:54:13 +00:00
Robert Osfield
1ef899069b
Changed compile paths into runtime selected paths using command line parameters
2007-01-04 21:58:37 +00:00
Robert Osfield
aebf0de6f2
Removed now redundent calls to set up view
2007-01-04 21:51:10 +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
ff195bddf5
Added Object::resizeGLObjectBuffers(uint) method to help improve the ability
...
to change the number of active graphics contexts on the fly during an applications
life.
2007-01-04 14:11:51 +00:00
Robert Osfield
1de65ddedc
Added setting of default backgroud colour of View's master colour to be
...
consistent with the previous default colour used by SceneView
2007-01-03 17:26:24 +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
d7e3ed3fb2
Updated wrappers
2006-12-27 23:19:37 +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
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
a56d273fe3
Moved the implementation of GraphicsWindowX11 from the head into the src/osgViewer directory.
2006-12-21 12:19:14 +00:00
Robert Osfield
2255771b74
Further work osgViewer::Viewer and related classes.
2006-12-20 21:13:29 +00:00
Robert Osfield
00ee8dffad
Added osgViewer::Viewer / osgViewer::GraphicsWindowsX11 usage.
2006-12-19 16:12:29 +00:00
Robert Osfield
afc77f9b39
Added support WindowingSystemInterface for querring the number of screens, the screen size and creating GraphicsContexts.
2006-12-17 20:49:01 +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
2d14519946
Enabled thread safe counting by default.
2005-12-07 09:48:28 +00:00
Robert Osfield
91855e7c50
Replaced tabs with spaces in examples.
2005-11-17 20:22:55 +00:00
Robert Osfield
c2f1527fe0
Added better control for cancel GraphicsThreads.
2005-11-10 15:25:06 +00:00