Commit Graph

953 Commits

Author SHA1 Message Date
Robert Osfield
2a142c096a Added setProjectionMatrix*(), setViewMatrix*() and get*() methods to osgUtil::SceneView. 2003-07-16 22:15:28 +00:00
Robert Osfield
a4b29996fd Added osg::Matrix::getOtho,getFrustum and getLookAt() methods.
Added test for new matrix methods into unit tests example, but these really
should go in their own lib...
2003-07-16 20:14:48 +00:00
Robert Osfield
a0d0803f1f Improvements to the handling of deletion of OpenGL rendering objets such as
display lists and textures object such that they can be deleted according
to an available amount of time given to do deletes.
2003-07-16 09:52:43 +00:00
Robert Osfield
82008d5ecd Updates to the flush rendering objects function calls to allow for
managment of amount of time available to do gl delete's.  This control is
required for constant frame rate applications.
2003-07-15 21:19:03 +00:00
Robert Osfield
0fd11b4abd Added extern + export's to global functions. 2003-07-15 18:52:40 +00:00
Robert Osfield
47965884e9 Moved PROGRAMOBJECT definition into StateAttribute. 2003-07-15 16:22:29 +00:00
Robert Osfield
1998bdef86 Moved osg::Statistics to osgUtil::Statistics and merged addition to it
fro Pavel Moloshtan.
2003-07-15 13:46:19 +00:00
Robert Osfield
deb26621c9 Changed the SceneView::setModelViewMatrix() methods across to being setViewMatrix().
The old RefMatrix methods for setModelViewMatrix() and setProjectMatrix() have
been removed to keep the API as minimal as possible.
2003-07-15 11:49:56 +00:00
Robert Osfield
77c0366cb2 From Mike Weiblen's osgGL2 node kit which support the latest OpenGL 2.0 extensions. 2003-07-15 10:45:46 +00:00
Robert Osfield
b2e5e09c28 From Bart Gallet, updates to VisualStudo .dsp's to keep things compiling under Windows. 2003-07-15 09:39:45 +00:00
Robert Osfield
953ac782ac From Gideon May, added
typedef T element_type;

To ref_ptr<> to make it compatible with the boost ref_ptr<> implemenations.
2003-07-15 08:17:54 +00:00
Robert Osfield
1b9d7d458a Added support for texture object manager, which provides an automatic mechansim
for reusing deleted textures.
2003-07-14 14:42:10 +00:00
Don BURNS
c60b5b6522 included <sys/types.h> for SGI compilation of Timer header file 2003-07-11 18:46:56 +00:00
Robert Osfield
606daca904 Added default constructor implemention to LOD and PagedLOD.
Added verbose messages to DatabasePager.
2003-07-10 14:53:07 +00:00
Robert Osfield
5b75d7f525 From Michael Gronger, addition of ReaderWriter* Registry::getReaderWriterForExtension(const std::string& ext).
Also removed copy constructor and = operator from Ouput as it was produce
spurious warnings under gcc 3.3.
2003-07-10 13:35:19 +00:00
Robert Osfield
9c5f84e99e From Eric Sokolosky, insertChild(). 2003-07-10 13:11:25 +00:00
Robert Osfield
c5c7a1b2ba Updates to the DatabasePager code to include support for compiling texture
objects and display lists before merging loaded subgraphs with the main
scene graph.
2003-07-10 11:10:39 +00:00
Robert Osfield
809168d5f8 Further updates to the DatabasePager. 2003-07-09 19:48:04 +00:00
Robert Osfield
5aa47a77c2 Improvements to the DatabasePager and PagedLOD class adding support for
deleting expuired children in the database thread.
2003-07-09 14:55:39 +00:00
Robert Osfield
c2eabe1d4b Added osg::PagedLOD and osgProducer::DatabasePager class, and linked up osgProducer::Viewer
to manage the pager.
2003-07-08 14:44:00 +00:00
Robert Osfield
b5442ac835 Added support for the ARB_vertex_buffer_object into osg::Geometry. 2003-06-29 21:41:57 +00:00
Robert Osfield
8d4ab4668e From Tree, updates to osgText and freetype plugin to support are kerning paramter. 2003-06-26 16:21:49 +00:00
Robert Osfield
8839cfe8cd Updated NEWS.
Added AttrData.h to flt.dsp

Removed redundent (and duplicate definition of RenderBinPrototypeList and its
associated static) from the RenderBin header.
2003-06-25 10:30:46 +00:00
Robert Osfield
d70ab592ed Additions since the CVS back up was made. 2003-06-24 21:57:13 +00:00
Don BURNS
15f88f35b2 *** empty log message *** 2003-06-24 15:40:09 +00:00
Robert Osfield
b444cc1ab3 Added support for scaling the projection in vertical and horizontal split stereo
modes.
2003-05-27 11:03:49 +00:00
Robert Osfield
4a804ebf32 Reverted recent changes so the set(Matrix&) method. 2003-05-27 11:02:45 +00:00
Robert Osfield
9ab1c960b6 Moved the GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB into its own #ifndef block
to help with OSX support.
2003-05-26 09:29:59 +00:00
Robert Osfield
7b657aed3a Adding support using istream and ostream with the reader writers. 2003-05-26 09:27:16 +00:00
Robert Osfield
efa16a34c5 Fixes to the Optimizer's handling of merging of osg::Geometry 2003-05-22 15:29:20 +00:00
Robert Osfield
fb55f6ffbc Improved the handling of scaled matrices in the Quat::set(Matrix&) method. 2003-05-21 21:32:56 +00:00
Robert Osfield
4a6bdad3e1 Removed osg::GeoSet for core osg lib and osgPlugin.
Commented out OpenDX plugin as its still based on GeoSet.

Added support for loading and converting GeoSet into the osgconv example.
2003-05-21 12:15:45 +00:00
Robert Osfield
4e9724245a Added setProjectMatrix(const Matrix&) and setModelViewMatrix(const Matrix&) methods. 2003-05-20 11:01:16 +00:00
Robert Osfield
ab1b199da8 Removed the now redundent osg::Camera. 2003-05-20 08:09:36 +00:00
Robert Osfield
00e94b86d8 Removed all KeySwitchCameraManipulator class, replacing it
with the KeySwitchMatrixManipulator
2003-05-19 20:18:37 +00:00
Robert Osfield
940ce67133 Removed remaining dependancies on osg::Camera. 2003-05-19 15:15:17 +00:00
Robert Osfield
6b64cd88b8 Removed superfluous const 2003-05-17 08:36:25 +00:00
Robert Osfield
57af40ee95 Updates to the handling of vertex attributes. 2003-05-09 13:07:06 +00:00
Robert Osfield
173a09fb32 Added UserData to NodeVisitor. 2003-05-07 15:26:08 +00:00
Robert Osfield
cda2c90315 From Romano José Magacho da Silva, support for vertex attributes in vertex program. 2003-05-07 13:13:13 +00:00
Robert Osfield
ba8bf1e94c From Eric Sokolowsky, support for mouse scroll wheel in osgGA/osgProducer. 2003-05-07 11:13:49 +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
06054d9520 Added support for multibuffering of tex coordinates. 2003-05-06 13:13:31 +00:00
Robert Osfield
895a722842 Addd support for maximum screen text size into osgText when auto scale to
screen is active.

Added osgautotransform demo.
2003-05-01 21:06:18 +00:00
Robert Osfield
d2d9b97953 Added set/getNearFarRatio() to CullVisitor. 2003-05-01 19:56:02 +00:00
Robert Osfield
9468ab4979 Cleanup of the API. 2003-04-30 15:38:11 +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
c1b1a091fa From Tree, addition of ; after MACRO_'s to help with Java port.
From Tree + Robert, Addition of LEFT_BASE_LINE,RIGHT_BASE_LINE,CENTER_BASE_LINE
Alignment options in Text.
2003-04-27 10:58:39 +00:00
Robert Osfield
9329717aa0 Moved #include <osg/Timer> from Viewer to OsgCameraGroup. 2003-04-17 15:27:17 +00:00
Robert Osfield
fd262554ac Moved the managing of frame stamp from osgProducer::Viewer into
osgProducer::OsgCamaraGroup.

Added setting of trackball in osgcameragroup so its starts in the
correct place for different models.
2003-04-17 11:14:25 +00:00
Robert Osfield
f759f7e69e Added OSGUTIL_EXPORT to front of DelaunayTriangulator class. 2003-04-17 06:52:56 +00:00
Robert Osfield
0b0c6c4e60 Added support for set/getColor to ShapeDrawable. 2003-04-16 20:02:15 +00:00
Robert Osfield
cad160fbe6 From Marco Jez, added DelaunayTriangulator class. 2003-04-16 19:21:27 +00:00
Robert Osfield
2e659c9ebf Renamed computeNearFar to computeNearFarPoints. 2003-04-16 14:22:36 +00:00
Robert Osfield
904aceec22 Added convinence methods to osgProducer::Viewer:
/** compute, from normalized mouse coords, for sepecified Camera, the pixel coords relative to that Camera's RenderSurface.*/
        bool computePixelCoords(float x,float y,unsigned int cameraNum,float& pixel_x,float& pixel_y);

        /** compute, from normalized mouse coords, for sepecified Camera, the near and far points in worlds coords.*/
        bool computeNearFar(float x,float y,unsigned int cameraNum,osg::Vec3& near, osg::Vec3& far);

        /** compute, from normalized mouse coords, for sepecified Camera, intersections with the scene.*/
        bool computeIntersections(float x,float y,unsigned int cameraNum,osgUtil::IntersectVisitor::HitList& hits);

        /** compute, from normalized mouse coords, for all Cameras, intersections with the scene.*/
        bool computeIntersections(float x,float y,osgUtil::IntersectVisitor::HitList& hits);
2003-04-16 14:17:49 +00:00
Robert Osfield
f9eb43083a Changed OsgSceneHandler so it re-uses osgUtil::SceneView project and modelview
matrices.

Changed the osgpick demo so that it uses the OsgSceneHandler's projection and
modelview matrices where possible.
2003-04-16 09:22:33 +00:00
Robert Osfield
fc4a2ab191 Added support for multiple cameras into osgpick. 2003-04-15 20:54:10 +00:00
Robert Osfield
63628ce099 From Romano, extra methods/variables for controlling tesselation. 2003-04-15 09:33:11 +00:00
Robert Osfield
5df7118d6d Updates to the osgpick code.
Updates to osgGA::CameraManipulors.
2003-04-14 15:44:30 +00:00
Robert Osfield
f543d69881 Improved the handling of Producer's no dimensional mouse coords. 2003-04-14 13:23:12 +00:00
Robert Osfield
3df0401007 Addd new computeLocalToWorld(NodePath) etc methods. 2003-04-14 13:22:21 +00:00
Robert Osfield
026dc2cbb7 Added Geoff Michel's osgpick and osgUtil::PickVisitor code. 2003-04-13 13:26:41 +00:00
Robert Osfield
5ecc25540c From Michael Gronager, changed apply(Sequence) to cast to an Group rather than
a Switch which was a bug.
2003-04-13 12:02:29 +00:00
Robert Osfield
50d1fcfea2 From Romano, added support in osg::VertexProgram for deleting the flushed
vertex programs.
2003-04-11 09:54:27 +00:00
Robert Osfield
aaa761e333 Added tests for presense of extensions to osgcubemap, osgvertexproram and
osgmultitexture examples.

Added osg::VertexProgram::Extensions class to better handle multiple graphics
context vertex program extensions.
2003-04-10 19:32:32 +00:00
Robert Osfield
52d2d8eaff Moved the osgcameragroup example across to being just based on
osgProducer::OsgCameraGroup with no usage of osgGA manipulators.

Removed redundent files from osgProducer.
2003-04-10 15:23:49 +00:00
Robert Osfield
8b03d59be3 Added support for modifying the osg::Texture*:Extensions stuctures.
Added an example modifying osg::Texture::Extensions to osgtext.  Optionally
compiled out by default.
2003-04-10 13:41:45 +00:00
Robert Osfield
bc4fd5b051 Added usage of Producer::CameraGroup::isValidForRendering() to the Viewer::done()
implemention so apps automatically close if one of the windows is killed.
2003-04-10 12:55:48 +00:00
Robert Osfield
22546b8085 Added support for multiple graphics context to osg::VertexProgram and osg::Impostor 2003-04-10 12:11:40 +00:00
Robert Osfield
e1e54570cb Fixed Viewer and OsgCameraGroup classes so that work properly with the
Prodicer::setViewByMatrix calls.
2003-04-10 10:02:24 +00:00
Robert Osfield
2166f9b701 Fixes to the Impostor implementation. 2003-04-09 21:53:09 +00:00
Robert Osfield
b02917e7a2 Fixed type of osg::ApplicationUsage::set/getApplictionName(), updated
demos accordingly.

Made OsgCameraGroup set the _applicationUsage to the
osg::ApplicationUsage::instance() when no ArgumentParser is supplied.

Added export to osgProducer::ViewerEventAdapter.
2003-04-09 08:20:08 +00:00
Robert Osfield
c3fd384eb1 From Romano José Magacho da Silva, added 'p' toggle to animation path
manipulator to allow animations to be paused and resumed.

Added frame rate stats which are output on each repetition of the path.
2003-04-08 20:06:37 +00:00
Robert Osfield
8a3d731739 Added support for Viewer::setViewer::setView so that the internal old
style osg::Camera and camera manipulators are updated correctly.
2003-04-08 15:47:45 +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
5f8411ac5c Changed the KeySwichCameraManipulator::setNode() so it set all camera's
attached to it.
2003-04-08 13:10:47 +00:00
Robert Osfield
559f5f93e5 Added an osg::absolute template function into osg/Math. 2003-04-08 09:42:03 +00:00
Robert Osfield
18ab95a294 Added support for snaping screen images from osgProducer::Viewer apps. 2003-04-07 19:19:01 +00:00
Robert Osfield
7af174fadb From Ulrich Hertlien, new osg::TextureRectangle class. 2003-04-07 13:20:53 +00:00
Robert Osfield
9f0fa75484 Added support for unref image data after apply in the osg::Texture*
classes.  Only unref's after all graphics context have been applied.
2003-04-07 12:51:00 +00:00
Robert Osfield
7e58786b11 Moved the modified tag's from osg::Texture into the osg::Texture1D,2D,3D and
CubeMap classes.
2003-04-07 09:46:06 +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
c7a7bd03cb Added support for recording animation paths in the osgProducer::Viewer. 2003-04-05 22:24:48 +00:00
Robert Osfield
cac6642de5 Improvements to the handling of warp pointer call on start up. 2003-04-05 07:19:40 +00:00
Robert Osfield
169bf25f77 Implemented support for float x and y mouse positions, and normalization of
mouse coords in osgGA::GUIEventAdapter, and ported osgGA camera manaipulators
to use the new normalized values.

Moved osgProducer across to tracking the window dimensions and ensure that the
internals values in osgProducer::EventAdapter are kept consistent.  Moved
the warp pointer in Viewer across to using KeyboardMouse::positionPointer().
2003-04-04 19:10:37 +00:00
Robert Osfield
e9e0b4304d Improved support for toggle between full screen and non fullscreen in
the osgProducer::Viewer.
2003-04-04 11:06:09 +00:00
Robert Osfield
e1e22ab430 Added GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB etc to the Texture header to
allow compilation across platforms.
2003-04-02 20:43:19 +00:00
Robert Osfield
0f3eaeba46 From Rune Schmidt Jensen - new dds loader. 2003-04-02 18:26:34 +00:00
Robert Osfield
7aab621405 Added support for min pixel size, max pixel size and max visable distance to
osgSim::LightPointNode, the max pixel size from was originally in osg::LightPoint.

Added additional get/set methods to osg::LightPointNode.

Increased the compute pixel size by a ratio 1.41 (sqrtf(2)) to correlate the
computed size with the actual size seen on screen.
2003-04-02 10:50:15 +00:00
Robert Osfield
5b36049f33 Added convinience constructor. 2003-04-01 18:42:38 +00:00
Robert Osfield
3975fc9b01 Improved handling of subloading.
Removed the rescalling of images in osg::Image during texture apply, moving
the rescale so it is locally calculated.  This solves an outstanding threading
problem which occured by multiple draw threads all tried to rescale the same
image at one time.

Made osg::Image ptr in osg::Texture2D non mutable as it is no longer modified
during apply.
2003-04-01 11:49:09 +00:00
Robert Osfield
b728b1dd99 Implemented load and subload methods in osg::Texture/Texture2D. 2003-03-31 21:41:17 +00:00
Robert Osfield
3fe1313ad9 Adding reseting of the array pointers to the dirty methods. 2003-03-31 11:25:04 +00:00
Robert Osfield
11053aaa5c Change the className() functions from non const to const to be consistent with the
osg::Object definition.
2003-03-29 22:07:03 +00:00
Robert Osfield
60e16ea044 Added Escape to the help list.
Changed the help key from '?' to 'h'
2003-03-28 10:04:58 +00:00
Robert Osfield
d8c82e17af Changed private to protected. 2003-03-27 17:20:21 +00:00
Robert Osfield
82139fae78 Fixed typo. 2003-03-27 17:18:59 +00:00
Robert Osfield
fc4fe9c625 Updates to utilise the new Producer keyboard bindings. 2003-03-27 10:54:01 +00:00
Robert Osfield
e93c812021 Improved the stats reporting. 2003-03-26 16:48:29 +00:00
Robert Osfield
8779fe20a7 Added help support for display help on screen to osgProducer::Viewer. 2003-03-26 12:50:30 +00:00
Robert Osfield
0c60d14c00 Added a ViewerEventHandler which manages full screen, file write, and help
output to osgProducer.  Removed FullSreenEventHandler as it is now superseeded
by ViewerEventHandler.
2003-03-25 15:13:20 +00:00
Robert Osfield
5e56e0eba8 Added osgkeyboard to the ./runexamples.bat.
Made osgstereoimage exit when non files have been loaded.

Added non const getText() method.
2003-03-25 13:57:16 +00:00
Robert Osfield
a03675495a Added new osgkeyboad example. 2003-03-24 21:17:51 +00:00
Robert Osfield
c2167be67b Fixed typo. 2003-03-24 15:21:52 +00:00
Robert Osfield
09acadb560 Added support for remapping of Win32 key symbols to
osgGA::GUIEventAdpater::KeySymbols.
2003-03-24 15:13:00 +00:00
Robert Osfield
19e2368991 Added osgGA::GUIEventAdapter::KeySymbol enumate list, which is a remapping
of the X settings.

Added a pass through of X11 sybmbols from Producer to osgGA::GUIEventAdapter::KeySymbol
in the osgProducer::EventAdapter.
2003-03-24 13:43:22 +00:00
Robert Osfield
6dbc770347 Made the osgGA::GUIEventHandler sublassed from osg::Object as a virtual
inheritence to allow handler to also be used as node callbacks.

Fix to UpdateVisitor to make the visitation of Drawable more consistent
with the way that nodes are traversed.
2003-03-24 08:42:35 +00:00
Robert Osfield
48868982f1 Added a traverseGeode method to the UpdateVisitor which contains the
traversal code for both the nodes traversal and the drawables the geode
contains.
2003-03-22 09:48:43 +00:00
Robert Osfield
f0eae16828 Added overide of the SceneHandler::clear() making it a no-op. Will revisit
this implemention later.
2003-03-20 17:24:25 +00:00
Robert Osfield
a3bb1da618 Added Endian test header to the core osg, and add use of the new
getCpuByteOrder test in LightPointDrawable.
2003-03-19 21:46:44 +00:00
Robert Osfield
21a74223e6 Added getCameraManipulator(unsigned int) method. 2003-03-19 21:14:50 +00:00
Robert Osfield
ca0ff266e2 First pass fix at implementing requestWarpPointer. 2003-03-19 15:49:21 +00:00
Robert Osfield
426e301c48 Addd a full screen toggle event handler to osgProducer & its viewer base
class.
2003-03-19 14:27:05 +00:00
Robert Osfield
74f8f18ad6 Added a realize callback to the OsgCameraGroup.
Move osgtexture3D across to using the new realize callback for creating its textures.
2003-03-19 12:06:29 +00:00
Robert Osfield
8ed643ca24 Chaned the OsgCameraGroup so that its scene handler list used ref_ptr<> for
robustly managing memory.
2003-03-18 20:27:09 +00:00
Don BURNS
e978c405e1 Set VERSION_RELEASE back to 3, replaced guards in include/osg/Verson to
OSG_VERSION_ with trailing underscore
2003-03-18 20:02:02 +00:00
Robert Osfield
bf184ef7a3 From Tree, added SG_EXPORT to the inner classes for Java binding work. 2003-03-18 19:42:34 +00:00
Robert Osfield
33ad8d8cb0 From Tree, ushort renamed GLushort 2003-03-18 09:29:06 +00:00
Robert Osfield
96b72af169 Implemented a object cache in osgDB::Registry. 2003-03-17 22:53:46 +00:00
Robert Osfield
e87a08f1c3 Fixes to osgcluster demo as new Producer based example.
Added extra pragrma remove a warning about float to int cast under VS.NET.
2003-03-16 21:58:27 +00:00
Robert Osfield
f811b2580e Removed osgGLUT and Demos/*.
Integrated Marco's updated examples/*/*.dsp's.
2003-03-15 20:20:46 +00:00
Robert Osfield
2ca505b3d8 Ported all glut based demos across to using the new osg::ArgumentParser. 2003-03-14 10:49:06 +00:00
Robert Osfield
2915550887 Reverted Don's changed of sqrtf to sqrt. Don't understand why the change was
required, suggest a problem elsewhere which should be fixed, *not* by modification
of Vec2.
2003-03-13 14:29:16 +00:00
Don BURNS
ec3e1dc611 Fixes for Mac OS X 2003-03-13 06:22:31 +00:00
Robert Osfield
b0dce04063 Added setBound() method to Drawable. 2003-03-11 21:53:28 +00:00
Robert Osfield
5ae998dbc2 Added missing osg:: to StateAttribute. 2003-03-11 21:42:55 +00:00
Robert Osfield
e51c7f1587 Added support for AbortRendering flag pointer in osg::State which is used
by osgUtil::RenderLeaf to test if any abort state has been set, if so it
doesn't do any further drawing.

The osgProducer::Viewer has been set up to set the osg::State's it manages
with their AbortRendering flag pointers set to the osgProducer::Viewer::_done
memeber varaible.  Now when escape is pressed the rendering is aborted early.
2003-03-11 15:25:49 +00:00
Robert Osfield
78de76f17f Bug fixes to osgText to handle the osgUtil::Optimizer being used on a scene
graph containing text.

Fixed warning in MD2 plugin.
2003-03-11 13:30:03 +00:00
Robert Osfield
06fb808ad3 Improvements to the Text .osg support. 2003-03-10 16:40:26 +00:00
Robert Osfield
ebbd03c114 Marged new getLibaryMethod added by Daniel. 2003-03-10 11:57:17 +00:00
Robert Osfield
efea365412 Moved the remain inline osg::Font methods into Font.cpp to avoid problems with the
impossibly stupid visual studio compilers.
2003-03-10 09:15:59 +00:00
Robert Osfield
a78600af67 Removed the OSGTEXT_EXPORT symbol from FontImplementation to avoid problems under
VisualStudio.
2003-03-08 09:51:41 +00:00
Robert Osfield
47087585c0 Added maximum width and maximum height limits to the osgText::Text which
automatically wraps text which goes beyond these limits.
2003-03-06 21:35:33 +00:00
Robert Osfield
152e60c61b Reverted the changes to ref_ptr<> for implicit cast to pointer. 2003-03-06 19:41:59 +00:00
Robert Osfield
fab6f24f4e Changed the osgText::Font implementation so it used a facade us abstract away
the actual implemention. This has been done so that when a freetype font is
created the implementation can unloaded when the freetype plugin is unloaded
without breaking the main font.

Also add image margin around founds to prevent any image boundaries appearing.
2003-03-06 17:11:24 +00:00
Robert Osfield
0d9aaa5ca6 Reverted the ref_ptr<> implementation to prior implicit cast operator via
commenting out// #define AUTOMATIC_CAST_TO_POINTER.
2003-03-06 13:45:20 +00:00
Robert Osfield
b70c80ba39 Add #ifndef's around the comparison operator's against const T* now that the
implicit cast operator has been added.
2003-03-06 10:38:31 +00:00
Robert Osfield
63df52d408 Added osgText::String implementation to better handle decoding of encoded text. 2003-03-05 21:05:37 +00:00
Robert Osfield
f9d8f3fa9d Added implicit cast to T* to ref_ptr<>. 2003-03-05 21:04:11 +00:00
Robert Osfield
5e396d40e1 Made the State::setInterleavedArrays method use a const GLvoid*. 2003-03-05 21:02:37 +00:00
Robert Osfield
7b6eaa72f2 Updates to Text for Sun Forte compilers. 2003-03-05 09:08:11 +00:00
Robert Osfield
ba9fbd371f Updates to the new osgtext example and fix to the friend usage. 2003-03-04 17:14:42 +00:00
Robert Osfield
55c25a551b Added support for using the generate mip map extension within osgText. 2003-03-04 15:47:28 +00:00
Robert Osfield
1c34c0981e Further improvements to osgText and the freetype plugin, handling different
font sizes better and plugin removal safely.
2003-03-04 12:34:42 +00:00
Robert Osfield
e433b42bc0 Updates osghud demo.
Compile fixes for VisualStudio6.0 because its a hideous pile of junk and can't
compile its way out of a paper bag.
2003-03-03 22:18:33 +00:00
Robert Osfield
99e7c50d7a Typo fix. 2003-03-03 20:24:49 +00:00
Robert Osfield
5d84c10c8f Changed the ownership of Glyph's so that GlyphTexture's own a reference to
Glyph's as well as Font's so keeping the Font valid even after the Font
itself has been desctructed.
2003-03-03 16:12:00 +00:00
Robert Osfield
371d84683f Fixes to osgText for default parameter. 2003-03-03 15:36:52 +00:00
Robert Osfield
e2b95c50a4 Added support for computing bounds of text. 2003-03-03 09:37:02 +00:00
Robert Osfield
fbe674b321 First cut of new osgText implementation. 2003-03-02 21:05:05 +00:00
Robert Osfield
2f74b2cf7c Renamed osgProducer::CameraGroup and SceneHandler to OsgCameraGroup and
OsgSceneHandler to avoid the namespace bug under VS6.

Removed the osgproducer demo (its now been replaced by examples/osgviewer.)
2003-02-25 12:28:16 +00:00
Robert Osfield
b32c8c65f3 Added osg::Image::AllocationMode enum and associated set/get methods.
osg::Image::setImage has also been modified to require the AllocationMode
mode to be passed to it so that it knows how to delete the data once the
image goes out of scope.

Port the image plugins across to specify the new AllocationMode, and converted
them across to using new/delete in place of malloc/free.
2003-02-25 11:56:18 +00:00
Robert Osfield
7877c55770 Implemented an osg::minimum and osg::maximum template functions to replace
the std::min/max functions previously used in parts of the osg, since the
std::min/max methods do not seem implemented under IRIX.
2003-02-24 12:02:00 +00:00
Robert Osfield
372ca1d227 Ported osgstereoimage to use osgProducer, added it to the examples directory.
Added a osgProducer::CameraGroup::getSceneHanderList() methods.
2003-02-23 17:01:05 +00:00
Robert Osfield
5471ada6da Fixes to try and keep OSX and Win32 compiling with the new usage of std::max. 2003-02-23 15:50:57 +00:00
Robert Osfield
3b429134cb Added examples directory, a place for all new OSG demo code.
Added osgcameragroup, osgviewer, osgtext, osgconv to the new examples directory.
2003-02-21 14:05:39 +00:00
Robert Osfield
0d3f78350a Added keyboard mouse binding usage to the osg::ApplicationUsage and
osgGA::GUIEventHandler and its subclasses.
2003-02-19 10:43:02 +00:00
Robert Osfield
73f741d16f Completed first pass at providing commandline option usage via the new
osg::ArgumentPareser and osg::ApplicationUsage classes. The osgproducer
demo has been implemented using these new mechansims.
2003-02-18 21:58:40 +00:00
Robert Osfield
c10d5f2d6f Added new osg::ApplicationUsage and osg::ArgumentParser to help streamline
application/example developement.
2003-02-18 16:36:42 +00:00
Robert Osfield
6184ecba3f Removed non implemented method convertWideString(const char* text) from header 2003-02-18 14:00:31 +00:00
Robert Osfield
44f88715ae MOre work on uint -> unsigned int. 2003-02-14 19:47:59 +00:00
Robert Osfield
77fee92d71 Renamed futher uint/ushort instances. 2003-02-14 16:52:47 +00:00
Robert Osfield
bd506b53da Removed last of the uint references. 2003-02-14 11:41:52 +00:00
Robert Osfield
8f1ba9d21b Removed include/osg/Types header defining osg::ubyte, osg::ushort etc. Changed
any reference to these in the distribution across to using unsigned char,
unsigned short etc.  This has been done to keep the OSG code more opaque
to what types are.
2003-02-12 19:20:47 +00:00
Robert Osfield
1b08b02df2 From Tree, added support for using wchar_t strings with osg::Text/EncodedText. 2003-02-10 15:01:27 +00:00
Robert Osfield
c2b4a05825 Minor fixes to ReaderWriter and Paragraph to help work with use of Doxygen.
Fix to CullVisior to handle the new no referenced counted cull and draw traversal.
2003-02-10 13:58:39 +00:00
Robert Osfield
4c4735a586 Added FrameStats support into osgProducer lib, and removed them from the
osgproducer demo.

Removed the producer config files osgproducer demo.

Added a search the osgDB::DataFilePath for the producer config file.
2003-01-30 23:02:32 +00:00
Robert Osfield
03eee3b700 Fixed warning in osgText
Added getBound() to begining of osgProducer::CameraGroup::frame() to ensure
that the parallel cull traversals don't all do a getBound().

Added osgProducer::CameraGroup::getTopMostSceneData() convinience method.
2003-01-30 16:11:39 +00:00
Robert Osfield
6c4f2f5207 Fixes for multipipe support.
Addition of FrameStatsHandler to osgproducer demo to add frame stats.
2003-01-29 17:16:26 +00:00
Robert Osfield
0d4e969746 Added support for osg::Transform::asMatrixTransform, asPositionAttitudeTransform
and as DOFTransform.
2003-01-24 09:37:56 +00:00
Robert Osfield
1ce53fcfba Changed the setUpViewer so it takes unisigned int to make it easier to
do OR'ing of the various enumerates when passing in paramters (avoids a
warning).
2003-01-24 09:37:11 +00:00
Robert Osfield
20ba1a4033 Fix for impostors bug where image insert were visible, this was down to a double
call to RenderStage::drawPreRenderStage().  The call to it in RenderStage inside
the draw() method has been removed, leaving on the call in SceneView.
2003-01-24 09:11:05 +00:00
Robert Osfield
ea35796526 From Daniel Sjölie, support for controlling which viewports are focusable i.e.
recive mouse/keyboard events.
2003-01-22 15:44:22 +00:00
Robert Osfield
6fd27a4b59 Clean up to the osgProducer lib and demo. 2003-01-22 15:30:17 +00:00
Robert Osfield
329a8a1656 Fixed an Optimizer crash where if the top most node of a model was
a static transform it would crash when this root was deleted.  Have fixed
by recognising this node as one not to remove and set it to identity instead.
2003-01-22 12:06:22 +00:00
Robert Osfield
48bda9cc79 Added new Copyright/License notice to header and source files. 2003-01-21 16:45:36 +00:00
Robert Osfield
128be070ba Added new osgProducer::Viewer class for putting together simple producer
based viewers very quickly.
2003-01-21 13:14:29 +00:00
Robert Osfield
0f69a4c3ae Made the drawable::compile(State&) method const and the DisplayListVisitor to
compile even when dislay list is off.  This has been done to allow subclasses
of Drawable handle their own compile implementation, such as used by text.
2003-01-20 20:40:06 +00:00
Robert Osfield
dc83e399a9 Improvements to osgProducer lib, in particular adding a mutex lock to the init() call in
SceneView to prevent init running multi-threaded.
2003-01-20 20:33:50 +00:00
Robert Osfield
4de63e72c6 Improvements to the handling of multiple graphics contexts. Still needs alot
of work, but at least it isn't crashes in trivial cases right now.
2003-01-20 20:28:28 +00:00
Robert Osfield
e56872aa1f Added the new standard copyright notice. 2003-01-20 12:41:15 +00:00
Robert Osfield
08456ecf70 Added osg::State::dirtyAllModes() and dirtyAllAttributes() methods. 2003-01-19 15:28:08 +00:00
Robert Osfield
762db56a40 Improvements to the osgProducer lib to better handle Producer's normalized
coord system.

Addition of ReadCameraConfigFile and WriteCameraConfigFile as a tempory
measure for implementing local a C++ read/write of the Producer::CameraConfig, this
will be removed once these implementations or similar have been moved to Producer.
2003-01-18 22:07:59 +00:00
Robert Osfield
13aa469628 Updated the KeyboardMouseCallback so this it takes into account the the new
passiveMouseMotion support in Producer.
2003-01-18 10:17:28 +00:00
Robert Osfield
619862f8d6 Added osgProducer library to the distribution.
Cleaned up the osgproducer demo, and made it work with the new osgProducer lib.
2003-01-17 18:34:35 +00:00
Robert Osfield
a86d519a89 Fixed a bug on the handling of empty EncodedText. 2003-01-17 15:01:27 +00:00
Robert Osfield
c2c38955c6 Added new getCurrentCamaeraManipulator(), and removed and debugging message. 2003-01-17 14:12:25 +00:00
Robert Osfield
c406d2476f Removed the osg::Referenced::createCount() and deleteCount() methods and
associated variables which were only compiled in on debug build.  These optional
methods/static vars were causingproblems when mixing debug and release builds.
2003-01-17 14:11:34 +00:00
Robert Osfield
1c602035ef Added DOUBLECLICK EventType to GUIEventAdapter. 2003-01-16 19:27:30 +00:00
Robert Osfield
4dd273de70 Added support for ReferenceFrame into osg::LightSource, modified the .osg
plugin and cull visitor to account for this change.
2003-01-16 16:37:24 +00:00
Robert Osfield
e0074d7c44 Made the osgDB::ParamterOutput class so that it is purely defined in terms
of the header, and therefore not requiring to be exported.

Updated the MUSE_READ_ME.txt to include mention of syntax highlighting.
2003-01-15 20:50:12 +00:00
Robert Osfield
d542a2165d Removed the template versions of the PrimitiveSet constructors as this was
causing problem under VisualStudio6.0.
2003-01-15 11:29:30 +00:00
Robert Osfield
af6a6ff9f0 Fixes for Win32 build. 2003-01-14 16:39:41 +00:00
Robert Osfield
59969be08d From Daniel Sjölie, updates to the GUIEventAdapter and GLUTEventAdapter to handle
key and key down, modifiers and funcion keys.
2003-01-14 14:25:56 +00:00
Robert Osfield
c882283b5d Typo fix if USE_HOME_POSITION. 2003-01-13 20:14:23 +00:00
Robert Osfield
c3a7ce7352 Fixes to osgText to handle std::string correctly. 2003-01-13 14:05:08 +00:00
Robert Osfield
ef7d7fce2e Moved some in inline methods in ParamterOutput into the new ParamterOutput.cpp
file to clean up the interface.
2003-01-11 12:50:39 +00:00
Robert Osfield
f36bc69c58 Made the more of the OSG's referenced object desctructors protected to ensure
that they arn't created on the stack inappropriately.

Split the implemention of Matrix up so that it is a simple no referenced counted
class and can be safefly created on the stack.  To support referenced counting a
seperate subclass now exists, this is RefMatrix which inherits from both Matrix and
Object.
2003-01-10 09:25:42 +00:00
Robert Osfield
c5d3c860d8 From Tree, support for encoded text added into osgText. 2003-01-08 15:22:17 +00:00
Robert Osfield
ba34880464 Added support for reading and writing Sphere, Box, Cone, Cylinder and Grid shapes. 2003-01-08 14:32:13 +00:00
Robert Osfield
e6b64a5550 Added support for sharing arrays in the .osg format for osg::Geometry.
Fixed the osgUtil::Optimizater so it takes into account sharing of arrays when
deciding whether an geometry can be merged or not.
2003-01-07 16:29:07 +00:00
Robert Osfield
0161dacc15 Removed the osg::LightPoint::OPAQUE option, and implemented the ADDTIVE blending option. 2003-01-06 16:42:02 +00:00
Robert Osfield
5c37fd7fb4 Fixed headers guard typo in LightPoint.
Updated the NEW files.
2003-01-06 13:45:55 +00:00
Robert Osfield
3ef3666d0f Added new ARB vertex program state attribute and demo program,
sent in my Brede Johansen.
2003-01-04 20:45:53 +00:00
Robert Osfield
141f065b17 Removed the dual inheritance from the AnimationPathCallback, moving the
NodeVisitor implemention into the .cpp.

Small tweak to the lighpoint drawable implmenentation to improve the additive
blending and state resotoration.
2003-01-03 21:42:02 +00:00
Robert Osfield
fe64942c54 Added a AnimationPathCallback which can update both a MatrixTransform and a
PositionAttitudeTransform, removed the equivialnt callbacks once found in these
transform classes.

Changed the NodeCallback class so its derived from osg::Object instead of
osg::Referenced to allow it to be saved out in the .osg format.

Added support for Update and Cull callbacks into the .osg file format.

Added support for AnimationPathCallback into the .osg file format.
2003-01-02 20:10:04 +00:00
Don BURNS
f501aa913b Update for ia64 2002-12-19 19:50:45 +00:00
Robert Osfield
adf5c91808 Renamed all instance of AppCallback/AppVisitor to UpdateCallback/UpdateVisitor
inline with the decision to rename the "app phase" the "update phase".
2002-12-19 15:55:40 +00:00
Robert Osfield
c82927293e Moved the include/osgTXP back into src/osgPlugins/txp as a seperate include directory is no longer required.
Removed the osgtxp demo as it is no longer required.
2002-12-17 16:07:59 +00:00
Robert Osfield
ee3348afc9 Added txp::TerrapageNode to the txp plugin, and implemented the node so that it
automatically assign handles the updates of eye points and database merges.
2002-12-17 15:41:05 +00:00
Robert Osfield
64341828b8 Added a few more comments on the DeleteHandler.
Changed the friend struct DeleteHandler to friend class DeleteHandler.
2002-12-16 21:39:26 +00:00
Don BURNS
bbab5af6eb Fixed a scope issue for 3.2 compiler for friend declarattion, l ine 39 in
include/osg/Referenced
2002-12-16 19:39:08 +00:00
Robert Osfield
8f81cf2ac6 Moved TriangleFunctor from Drawable into its own header file. 2002-12-16 17:00:05 +00:00
Robert Osfield
7bcef50e3b Removed reference to osg/MemoryManager. 2002-12-16 14:12:48 +00:00
Robert Osfield
89269463ef Removed the memory manager. 2002-12-16 13:44:35 +00:00
Robert Osfield
00cc3a1833 Converted the instance of osgNew and osgDelete back to new and delete as part
of depecating the include/osg/MemoryManager
2002-12-16 13:40:58 +00:00
Robert Osfield
884b2730e8 Added a DeleteHandler into osg::Referenced so that it can delete objects
via a seperate delete handler.  Useful for making unref()/ref() thread safe if
the users needs to address this issue.
2002-12-16 10:25:31 +00:00
Robert Osfield
c6b6e200a4 Added supported for setting animation path on MatrixTransform's. 2002-12-16 09:55:30 +00:00
Robert Osfield
db7cc1c559 Disabled the MemoryManager in all builds since it isn't yet thread safe. 2002-12-14 07:55:29 +00:00
Don BURNS
63c0a33926 Moved TrpageViewer.h to Demos/src/osgtxp 2002-12-13 20:29:26 +00:00
Robert Osfield
97a4775b7e Updates to the light points support to improve the control of the blending of
light points with their background.
2002-12-10 19:56:14 +00:00
Robert Osfield
8d0718e8da Added setting of the current texture unit into the applyTextureAttribute() method. 2002-12-09 21:03:02 +00:00
Robert Osfield
109f6f22fe Updated the Switch, Sequence and Group classes so that they all used a
similar style removeChild() mechansim.

Made the old style osg::Switch::setValue() method deprecated.
2002-12-07 21:18:12 +00:00
Don BURNS
b63827c5d9 Cleanin' up after Robert's spelling ...er ... challenges. 2002-12-07 06:59:08 +00:00
Robert Osfield
baa7c11eb9 From Tree, added support for accept(PrimitiveFunctor) into osg::Text. Currently
implemention is overly simple, but will do until rewrite.
2002-12-06 19:03:34 +00:00
Robert Osfield
1be82ec697 From Tree, mods to help support the creation of Java bindings. 2002-12-06 09:44:11 +00:00
Robert Osfield
b0c4256e90 Norman Vine's changes for gcc 3.2 under Cygwin, moving of SG_EXPORT to after
the extern declaration.
2002-12-05 12:43:08 +00:00
Robert Osfield
d7692f83d7 Added support for setting the axis which the text should be aligned along. 2002-12-05 12:01:38 +00:00
Robert Osfield
a4404a388d Fixes for Cywin gcc3.x build in GL and Math headers.
Fix for VS build in osgshadowtexture.
2002-12-04 17:34:52 +00:00
Robert Osfield
f6934e25ab Made the callback class uses virtual inheritance of osg::Referenced to ensure
that a single class can be used for two different types of callbacks whithout
incurring issues of multiple ref counts and ref()/unref() methods existing.
2002-12-03 17:20:31 +00:00
Don BURNS
bf0cbf6b10 Modified Files:
include/osgTXP/trPagePageManager.h src/Demos/osgtxp/osgtxp.cpp
 Added Files:
    VisualStudio/Demos/osgtxp/osgtxp.dsp
2002-11-29 22:10:12 +00:00
Robert Osfield
26ba223880 Added isImageTransulacent() method. 2002-11-25 16:38:33 +00:00
Don BURNS
12e922bc3c Added Paging TerraPage loader and osgTXP library. 2002-11-24 21:36:05 +00:00
Robert Osfield
bcf9d08c2b Adjusted tabbing. 2002-11-22 08:23:54 +00:00
Robert Osfield
a545f3b48c Moved the shadow creation code into a seperate CreateShadowedScene header and source,
and exposed just the basic createShadowedScene function in the header.
2002-11-21 15:35:51 +00:00
Robert Osfield
5ddcd5d878 Added osg::Geometry::setPrimtiveSet,removePrimtiiveSet, insertPrimitiveSet
and getPrimitiveSetIndex().

Renamed osg::Group::findChildNum(..) to getChildIndex().

Renamed osg::Geode::findDrawableNum(..) to getDrawableIndex().
2002-11-21 09:07:11 +00:00
Robert Osfield
2b957675d5 Added visual workspace files for osgSim nodekit and osglightpoint demo. 2002-11-19 12:23:45 +00:00
Robert Osfield
e02ae73edc Added osgSim library which encapulsulates light points.
Added osglightpoint demo.
2002-11-19 10:57:40 +00:00
Robert Osfield
5fca8ea229 Moved Drawable across to using osg::buffered_value.
Added new osg::State::setInterleavedArray() method.

Added new osg::Group::setNode(uint,Node*) method.

Cleaned up and fixed the osg::Texture's handling of dirtyTextureParamters().
2002-11-19 10:56:59 +00:00
Robert Osfield
42fb3c5987 Added setDrawable(uint,Drawable*) method. 2002-11-18 16:14:00 +00:00
Robert Osfield
bd7762a73e Added State::computeSecondaryColorSupported() & computeFogCoordSupported().
Updated NEWS.
2002-11-13 11:09:55 +00:00
Robert Osfield
8e84722f90 Added LEFT_EYE and RIGHT_EYE stereo to osg::DisplaySettings/osgUtil::SceneView
Renamed LODBias to LODScale.
2002-11-12 10:22:38 +00:00
Robert Osfield
35b9317baf Fixes to typo of *Dirty() 2002-11-11 16:11:48 +00:00
Robert Osfield
6f3e2b681c Fixed bug in osg::Node::isCullingActive().
Rnabled the automatic selection of the animation path if one is specified
on the commandline in sgv.
2002-11-11 08:52:24 +00:00
Robert Osfield
661240d1ca Fixes to const paramter types. 2002-11-11 08:04:40 +00:00
Robert Osfield
feeadcdec0 Removed deprecated API 2002-11-08 14:03:44 +00:00
Robert Osfield
aca6c3c4f9 Added #define DARWIN_OSX_PRE_10_2 and related #ifdef checks to cope with backwards compatiblity
with versions of OSX before 10.2.
2002-11-08 12:26:41 +00:00
Robert Osfield
9816a51bc7 Added GL_LIBS to the osgText/Makefile for OSX build.
Fixed typo in IntersectVisitor.

Fixed warnings in osgimpsotor demo.
2002-11-08 11:00:16 +00:00
Robert Osfield
5db3229b5f Updates to Math for OSX build.
Added 3dmodelworld.com to the data source directory.

Fixed compile problem under VC6.0 in osgimpostor.
2002-11-08 10:25:08 +00:00
Robert Osfield
b6988affe6 Commented out the USE_DEPRECATED_API define. 2002-11-07 14:29:33 +00:00