Commit Graph

11 Commits

Author SHA1 Message Date
Robert Osfield
5566a025b5 Added TextSettings struct to manage values used to set up the text. with the addition of following command line parameters:
--outline // enable outlne
   --shadow // enable shadow
   --offset ratio // set the backdrop offset
   --text-color r g b a // set the text body color
   --bd-color r g b a // set the shadow/outline color
   --bg-color r g b a // window background color
   -o filename // write create subgraph to disk using specified filename
2017-08-29 17:19:26 +01:00
Robert Osfield
37487b0c0b Added --ortho command line option to toggle use of orthographic camera or default perspective one 2017-08-29 13:48:06 +01:00
Robert Osfield
c36e47188b Added argument parsing to viewer constructor 2017-08-29 12:21:14 +01:00
Robert Osfield
1290f1584a Removed old Text::GlyphQuads array code paths 2017-02-28 17:02:02 +00:00
Robert Osfield
138af70bd8 Merged the Text::GlyphQuads cooordinate arrays 2017-02-28 16:34:33 +00:00
Robert Osfield
04d23659b3 Added the option for changing the type of the GlyphQuads::Coords 2017-02-22 12:07:43 +00:00
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
47db2da8b4 From Andreas Henne, Support for GL3 core profile in osgText
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14717 16af8721-9629-0410-8352-f15c8da7e697
2015-02-25 18:56:29 +00:00
Robert Osfield
c3b7a04cf1 Added StateSet event handler to osgfont and osgtext to aid with debugging 2010-03-18 17:10:48 +00:00
Robert Osfield
1e886ce539 From Paul Melis, "While trying out the osgbrowser example (where I had forgotten to update
LD_LIBRARY_PATH so the XUL libs would be found) I noticed that although
the gecko plugin was found it could not be loaded. But this did not
trigger any visible warning/error message (at least not without INFO
notify level). Would you mind if we change the notify level for a
dlerror() to WARNING? This will also make it more explicit for the case
when a plugin isn't actually found, which seems to come up a lot for
novice users (e.g. no freetype on win32, so no freetype plugin, etc).
Also, the current error message is misleading ("Warning: Could not FIND
plugin to ...") because the it's not always a case of not finding the
plugin. I slightly enhanced the situation of not finding a plugin versus
finding it but not being able to load it.

Here's also a few fixes to some of the examples:
- osgfont: make usage help line more in line with the actual behaviour
- osgcompositeviewer: complain when no model file was provided
- osgmovie: don't include quicktime-dependent feature on Linux
- osgocclussionquery: comment addition (as I was surprised that lines
were being drawn in a function called createRandomTriangles())"
2009-02-08 15:56:35 +00:00
Robert Osfield
4f881b9a09 From Jeremy Moles,"Here's a small example I us to test text rendering in osgWidget; I
figured it might be helpful to folks in OSG who need to do the same.
"
2008-05-07 13:46:24 +00:00