Commit Graph

56 Commits

Author SHA1 Message Date
Robert Osfield
dd996a3289 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/trunk@15164 16af8721-9629-0410-8352-f15c8da7e697
2015-10-22 13:42:19 +00:00
Robert Osfield
37d051af5e Added output of HUD scene graph to hud.osgt and hud.osgb for testing purposes.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14901 16af8721-9629-0410-8352-f15c8da7e697
2015-06-09 09:44:37 +00:00
Robert Osfield
74f91037a7 Further work on Bound class/Node::getBound() and Drawable::getBound() and usage in OSG codebase 2014-05-14 16:01:40 +00:00
Robert Osfield
4b9aa1fd24 Replaced deprecated osg::Geometry::set*Binding() usage. 2013-06-27 09:54:12 +00:00
Robert Osfield
d18250da59 Replaced .osg with .osgt file usage 2011-06-14 16:54:20 +00:00
Robert Osfield
862a0c68e3 From Mathias Goldau, "Added very brief documentation when to use the triangle mesh class. I
generated the make doc_openscenegraph target to verify that this change does
not break something.
"
2010-11-01 10:31:30 +00:00
Robert Osfield
a2bc7f6759 Fixed typo 2009-05-19 15:11:49 +00:00
Robert Osfield
418dc34776 Fixed warnings 2009-01-07 11:24:47 +00:00
Robert Osfield
36bbfa9935 Fixed naming 2008-03-01 12:29:49 +00:00
Robert Osfield
aa43b3c8a6 Added Camera::g/setIntialDrawCallback and g/setFinalDrawCallback(), and added
screen snapshot example code to osghud.
2008-02-29 15:25:57 +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
ce0f30cfcb From Martin Lavery and Robert Osfield, added fallbacks for when now command line args are provided. 2007-06-08 15:37:20 +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
67a9ac2055 Added new --Viewer and --CompositeViewer for implementation of HUDs 2007-02-23 11:52:28 +00:00
Robert Osfield
dfb21cb81a Ported following examples to osgViewer:
osggeodemo
    osggeometry
    osghud
    osgimpostor
    osgkeyboard
    osglauncher
    osglight
    osglightpoint
    osglogicop
    osglogo
    osgmovie
    osgmultiplecameras
    osgmultitexture
    osgoccluder
    osgparametric
    osgparticle
2007-01-08 10:00:16 +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
41a4aa1548 Added viewer.cleanup_frame() to all examples. 2006-08-02 19:55:03 +00:00
Robert Osfield
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +00:00
Robert Osfield
c41d027e6b Fixed the text to match the implementation. 2005-12-09 19:54:31 +00:00
Robert Osfield
ec5463c10d Cleaned up osghud and osgprerender examples 2005-07-15 08:31:02 +00:00
Robert Osfield
71122ff38f Work on the RenderToTexture usage of the new osg::CameraNode. Both osghud
and osgprerender now ported across to osg::CameraNode.
2005-06-14 20:51:35 +00:00
Robert Osfield
1e0af60669 Removed un-needed setCullActive(false) 2004-11-06 21:21:29 +00:00
Robert Osfield
20958de1ea Disabled culling on the aboslute transform to fix bug culling of hud. 2004-11-04 21:11:12 +00:00
Robert Osfield
b70ff91eaf Changed ABSOLUTE and RELATIVE to ABSOLUTE_RF and RELATIVE_RF to avoid stooppid Win32 #define 2004-10-24 20:04:00 +00:00
Robert Osfield
6821a80e14 Changed the ReferenceFrame enums to be RELEATIVE and ABSOLUTE, and
deprecated the RELATIVE_TO_ABSOLUTE and RELATIVE_TO_PARENTS.
2004-10-22 19:26:45 +00:00
Robert Osfield
9d883176f9 Changed the main to create a Group and then add the loaded scene and HUD scene
into this.  This has been done to rework code nearer to what Stephan Huber
used to get round a crash under OSX when a model was passed in.  This crash
suggest a problem in dynamic_cast<> perhaps?
2003-11-21 14:17:26 +00:00
Robert Osfield
8d5aa5644d Added X_INC into the Make/makedefs and changed the *GNUmakefile* to use it. 2003-08-18 10:58:30 +00:00
Don BURNS
49a93076c1 Removed references to PRODUCER_INCLUDE_DIR and PRODUCER_LIB_DIR in the
local makefiles.

Small change in txp loader for sun build
2003-07-25 23:49:03 +00:00
Don BURNS
15f88f35b2 *** empty log message *** 2003-06-24 15:40:09 +00:00
Robert Osfield
aa0d5fc52e Changed the CullVisitor::popProjection() so that it doesn't adjust orthorgraphic
projection matrices.
2003-05-07 09:35:43 +00:00
Robert Osfield
fa0333b6fe Aded extra constructors to BlendFunc and Depth to help set them up convieniently.
Added a background quad to osghud.
2003-05-06 18:04:27 +00:00
Robert Osfield
d29c57a2ba Reverted the test of setAutoScaleToScreen. 2003-04-30 11:41:24 +00:00
Robert Osfield
0ab467483f Added support for automatic scaling of text to screen coords. Optimized
the text implementation to provide better speed, especially by using the
alignement to screen option.

Deprecated the Text::setFontSize(,) method, which is now being replaced
by setFontResolution(,)

Fixed typos in Texture*.cpp.

Removed old deprecated methods from osg headers.
2003-04-30 11:40:17 +00:00
Robert Osfield
0036018507 Added -I/usr/X11R6/include to osgProducer and all the examples GNUMakefiles.
From Bob, mods to GNUMakefile and Make/makedefs for the extra includes for
freetype.
2003-04-14 19:39:22 +00:00
Robert Osfield
2e87dcd804 Added desciptions to all the demos. 2003-04-09 11:44:32 +00:00
Robert Osfield
e928bca4c9 Changed the Viewer::realize() calls across to not using the threading paramter
leaving it up to the Viewer to specify the mode (which by default is MultiThreaded).
Added a check for the presence of osgParticle systems so that threading is
disabled in this case.
2003-04-08 15:18:45 +00:00
Robert Osfield
49a28660dc Added the usage report to the examples for when no arguments are passed
to the examples.
2003-04-06 21:32:44 +00:00
Robert Osfield
a3d676c10b Added -osgText to GNUMakefiles. 2003-03-27 13:51:40 +00:00
Robert Osfield
35e0ba12bc Added a viewer.sync to the end of all the demos.
Removed the Win32 remapping of keycodes from the osgProducer::EventAdapter.
2003-03-25 10:05:09 +00:00
Don BURNS
ced920030a Added -losgGA to all GNUmakefiles in examples.
Added one std:: in front of an endl in osgunittests.cpp
2003-03-15 08:01:41 +00:00
Robert Osfield
7083773b64 Ported osgGLUT based src/Demos across to being osgProducer based, and placed
them in the new examples/ directory.
2003-03-14 20:35:45 +00:00
Don BURNS
693a889ece Various changes to the BUILD system:
o Object files now go in subdirectories named $(OS)$(ARCH).Opt and
       $(OS)$(ARCH).Debug for OS's that support both architectures.
          eg.  Linux32.Opt and Linux32.Debug

     o Libraries links are now placed in lib/$(OS)$(ARCH)
          eg.  lib/Linux32/

     o Binaries are now placed in bin/$(OS)$(ARCH)
          eg. bin/Linux32

     o 'make install' and 'make instlinks' now place files/links in
       /usr/local/{include,lib,share/OpenSceneGraph} by default on
       most systems (Solaris still goes in /opt/OpenSceneGraph).
       Rather than having the somwehat confusing INST_SYS_PREFIX and
       INST_SHARE_PREFX, you can override these with just
            INST_LOCATION
       For example,
             make INST_LOCATION=/usr
       will place files at /usr/include, /usr/lib,
       /usr/share/OpenSceneGraph.
2003-03-13 02:53:40 +00:00
Robert Osfield
7439d7bb58 Changed the GNUMakefile for the osgproducer demo to use INC += instead of CXXFLAGS. 2003-03-12 21:02:04 +00:00
Robert Osfield
40271ef1c8 Added -losgText 2003-03-12 11:50:02 +00:00
Robert Osfield
d998b2acfa Added missing osghud Makefile. 2003-03-12 11:36:55 +00:00
Don BURNS
fa33244f92 1) Replaced all Makefile* with GNUmakefile*.
2) Changed Makedepend system to make individual dependency files, which
   should save time rebuilding dependencies by limiting the regeneration
   of dependency file for only modified source files.
2003-03-12 10:39:43 +00:00