2001-01-11 00:32:10 +08:00
|
|
|
OSG Change log
|
|
|
|
==============
|
|
|
|
|
2001-09-28 00:34:41 +08:00
|
|
|
o Placed #ifdef USE_DEPRECATED_MATRIX_METHODS about pre/postScale,
|
|
|
|
pre/postTrans and pre/postRot methods since these are now
|
|
|
|
deprecated, there functionality replace by scale,trans,rotate
|
|
|
|
static methods which create matices to do pre and post multiplication
|
|
|
|
by. Converted the rest of the OSG to use thse new methods.
|
2001-09-27 17:44:55 +08:00
|
|
|
o Converted hangglide to use the sky and base as an earth/sky implementation
|
|
|
|
which replaces the standard glClear done in RenderStage, therefore
|
|
|
|
reducing the fill rate requirements for each frame, and increasing
|
|
|
|
performance. The technique uses multiple rendering bin to force
|
|
|
|
the drawing of the sky first, base second and then rest of the
|
|
|
|
scene graph afterwards. The first two bins draw use osg::Depth
|
|
|
|
state attribute to control glDepthFunc/Mask/Range so as to write
|
|
|
|
to the far plane.
|
|
|
|
o Fixed erroneous message in osgreflect.
|
|
|
|
|
2001-09-22 10:42:08 +08:00
|
|
|
21th September 2001 - osg-20010921.tar.gz
|
|
|
|
|
|
|
|
o Fixed compilation problem under Windows due to ctime being included
|
|
|
|
in the osg::Timer header file. The ctime refrence has been replaced
|
|
|
|
by time.h. Also fixed typo in osgGLUT/Viewer.cpp which was causing
|
|
|
|
compilation problems.
|
|
|
|
o Made the new osg::Matrix::translate/scale/rotate static method inline
|
|
|
|
to help improve peformance.
|
|
|
|
o Fixed bugs in osg::Matrix::preMult and postMult.
|
|
|
|
|
|
|
|
|
|
|
|
19th September 2001 - osg-20010919.tar.gz
|
|
|
|
|
|
|
|
o Cleaned up the implementation of the osg::Timer class so it is easy
|
|
|
|
to read and maintain, and have added support for gettimeofday under
|
|
|
|
unix OS's where no other realtime timer is available, if this isn't
|
|
|
|
available either than
|
|
|
|
o Added FrameStamp class which encapsulates the frame number,
|
|
|
|
reference time and the calander time that a frame in schedualed.
|
|
|
|
o Fixed a couple of bugs & integrated further fixes from Paul Fredrikson,
|
|
|
|
to the new Matrix implemention, double checked results against the old
|
|
|
|
matrix class and am now getting consistent results. For this dev
|
|
|
|
version onwards the new Matrix class simply replaces the old one. The
|
|
|
|
new Matrix class contains old style methods to keep things compiling,
|
|
|
|
however these are deprecated and will be removed, probably by the next
|
|
|
|
full release. Check the header file for deprecated methods. You can
|
|
|
|
also comment in the #define WARN_DEPRECATED at the top of Matrix.cpp
|
|
|
|
and this will produce console warnings.
|
|
|
|
o From Don Burns - fixes to src/osgPlugins/osg/GeoSet.cpp adding in
|
|
|
|
an iterator increment to the code for outputing interleaved arrays,
|
|
|
|
previously the code entered an .osg writing inifite loop for this
|
|
|
|
data type.
|
|
|
|
o Have added #ifndef WIN32 around the call to the new OptimizeStateVisitor
|
|
|
|
which was added to sgv to prevent its use automatically under Windows -
|
|
|
|
thus avoiding the windows crash due to the MSVC++ buggy SLL implementation.
|
|
|
|
|
|
|
|
14th September 2001 - osg-20010914.tar.gz
|
|
|
|
|
|
|
|
o Added osgUtil::StateOptimizeVisitor which traversing the scene
|
|
|
|
graph and builds up a map of all StateAttributes and StateSets
|
|
|
|
and then removes the duplicates. This promotes state sharing
|
|
|
|
throughout the scene graph which inturn can significantly improve
|
|
|
|
performance thanks to reduced state changing. Particularily
|
|
|
|
effective on datasets where a great deal of duplicated state exists.
|
|
|
|
Even on already optimized datasets such as Performer town up
|
|
|
|
o Added pure virtual compare(const osg::StateAttribute&)
|
|
|
|
method to osg::StateAttribute, and implemented it in all the
|
|
|
|
subclasses from StateAttribute. Added <,== & != operator
|
|
|
|
on StateAttribute and Matrix to support new StateOptimizeVisitor.
|
|
|
|
o Added META_Object, META_Node and META_StateAttribute macros to
|
|
|
|
Object, Node and StateAttribute respectively which define the
|
|
|
|
standard pure virtual methods such as clone, className
|
|
|
|
& isSameKindAs. Changed all the appropriate header files to
|
|
|
|
use these macro's rather define them in each header, these cleans
|
|
|
|
up the headers considerably.
|
|
|
|
o Corrected the implementation of osg::Light::getType so it correctly
|
|
|
|
uses a unique type for each of the OpenGL lights (GL_LIGHT0..
|
|
|
|
GL_LIGHT7 relates to osg::StateAttriburte::LIGHT_0..LIGHT_7.
|
|
|
|
o Changed the definition of osg::StateStateAttribute::Type to
|
|
|
|
is now a unsigned int rather than an enum, and have changed the
|
|
|
|
name of the previous Type enum list to be Types. This makes it
|
|
|
|
more consistent with the difination of values found in StateAttribute
|
|
|
|
and also easier to extend with having to cast to an enum.
|
|
|
|
o From Pail Fredrikson, updated Maitrx.new implemention which uses
|
|
|
|
the same matrix orientation as the original Matrix implemention.
|
|
|
|
|
|
|
|
11th September 2001 - osg-20010911.tar.gz
|
|
|
|
|
|
|
|
o From Paul Fredrikson - added new proposed Matrix implemention, its
|
|
|
|
been added in as Matrix.new and Matrix.cpp.new, the old Matrix
|
|
|
|
implemetion has been moved to Matrix.old and Matrix.cpp.old, and
|
|
|
|
new Matrix and Matrix.cpp directs compilation to Matrix.new if
|
|
|
|
USE_NEW_MATRIX is defined, otherwise defaults to Matrix.old. Once
|
|
|
|
a new implementation is settled and thoroughly tested then the
|
|
|
|
old one will be completely replaced by the new one.
|
|
|
|
o Added osg::NodeVisitor::s/getTraversalNumber(..) and s/getReferenceTime(..)
|
|
|
|
to better support syncronization of different traversals of the scene
|
|
|
|
graph and support osgcluster syncornization through the traversal number
|
|
|
|
and refernce time.
|
|
|
|
o Added osg::NodeVisitor::s/getTraversalMask(..), s/getNodeMaskOverride(..)
|
|
|
|
and validNodeMask(..) and modified all osg::Node's and its
|
|
|
|
subclass' ::accept(NodeVisitor) methods to check NodeVisitor::
|
|
|
|
validNodeMask(..) and only call the NodeVisitor::apply(..) if it
|
|
|
|
returns true. This extra functionality allows users to switch on/off
|
|
|
|
nodes and their subgraph using a Node::s/getNodeMask() and since
|
|
|
|
a bit mask is used this can be done selectively for different
|
|
|
|
traversals, by using diffent bits for a traversal type (i.e app/cull).
|
|
|
|
o Added reuse of AlphaFunc and TexEnv objects between ImpostorSprites
|
|
|
|
into osg::ImpostorSpriteManager.
|
|
|
|
o Added osgcluster demo (can be found in src/Demos/osgcluster/), this
|
|
|
|
demo demonstrates a simple implmentation of keeping camera in sync
|
|
|
|
between entirely seperate apps running on different machines, and
|
|
|
|
what you get is multi-channel graphics cluster! osgcluster uses
|
|
|
|
UDP packets to keep the camera position in sync between other
|
|
|
|
osgcluster viewers running on other machines in the local area
|
|
|
|
network.
|
|
|
|
o Changes to osg::Camera - added osg::Camera::setFOV(), osg::Camera::
|
|
|
|
s/getAdjustAspectRatioMode(), and osg::Camera::adjustAspectRatio(),
|
|
|
|
and renamed AdjustAxis enumerate AdjectAspectRatioMode.
|
|
|
|
o Updates to osg::NodeCallback and osgUtil::AppVisitor.
|
|
|
|
|
|
|
|
|
|
|
|
24th August 2001 - osg-20010824.tar.gz
|
|
|
|
|
|
|
|
o Changed the impostor viewport so it is centered in the middle of
|
|
|
|
main viewport instead of the bottom left hand corner. The later
|
|
|
|
was causing problems with the windowing decoration was obscuring
|
|
|
|
the backbuffer drawing and texture read.
|
|
|
|
o Changed the default resolution to 800x600 for osgGLUT::Viewer and
|
|
|
|
osg::Viewer so that the demos appear ok on very small screens such
|
|
|
|
as laptops.
|
|
|
|
o Three items added for support of app traversal callbacks.
|
|
|
|
- added osg::NodeCallback for use as an app callback on osg::Node's
|
|
|
|
which is called by an app visitor.
|
|
|
|
- added osg::Node::setAppCallback()/getAppCallback().
|
|
|
|
- added osgUtil::AppVisitor and made it default AppVisitor on SceneView.
|
|
|
|
note: new files are include/osg/NodeCallback,
|
|
|
|
include/osgUtil/AppVisitor and src/osgUtil/AppVisitor.cpp.
|
|
|
|
o Changed osgreflect and osgcube demos so they use an app callback,
|
|
|
|
instead of its own app visitor/glutTimerCallback repsectively.
|
|
|
|
o Changed the texture object type from osg::uint to GLunit in osg::Texture
|
|
|
|
to solved comptability problems under MacOS.
|
|
|
|
o Fixed spelling mistake of Minimum which occured several times
|
|
|
|
in include/osgUtil/VisualsRequirementsVisitor.
|
|
|
|
o Removed Lighting.cpp as it is nolonger used in any Makefiles,
|
|
|
|
and is only laying around due to not be removed earlier.
|
|
|
|
o From Bryan Woods - updated Metrowerks files for the MacOS port.
|
|
|
|
|
|
|
|
22nd August 2001 - osg-20010822.tar.gz
|
|
|
|
|
|
|
|
o Removed osg::StateSet::getAttributeVector() and getModeVector()
|
|
|
|
since they were simply hacks around MSVC++ bugs which are both
|
|
|
|
fixed by using STLport under windows, along with other bugs reported
|
|
|
|
under Windows. Its is now recommended that Windows users adopt
|
|
|
|
STLport instead of the MSVC++ one since the later is just plain flakey.
|
|
|
|
o From Ben Discoe - fixed typo of a bookmark in index.html
|
|
|
|
o Added osg::Viewport for encapsulating glViewport and for passing around
|
|
|
|
viewport object between various osg classes. Also helps avoid some
|
|
|
|
portability issues which have arisen over OpenGl types under MacOS.
|
|
|
|
o From Bryan Woods - updated Metrowerks files for the MacOS port.
|
|
|
|
|
2001-09-20 05:08:56 +08:00
|
|
|
9th August 2001 - osg-0.8.42.tar.gz
|
|
|
|
|
|
|
|
o Toned down the specular light values set by default in osgUtil::SceneView::
|
|
|
|
setDefaults from 0.8 to .1, this reduces the effect of scaling of
|
|
|
|
normals on lighting - which was causing a bad flikering affect on
|
|
|
|
models contains scaling. This points to a need to automatically
|
|
|
|
scale the normals, but more on this in a future release.
|
|
|
|
o Removed WXFLAGS from Make/makedefs.* since it is nolonger required.
|
|
|
|
o From Randall Hopper - fixed compliations problems under IRIX on flt plugin.
|
|
|
|
o Fixed bugs in osg::Camera::calc_fovx() and calc_fovy() which causing
|
|
|
|
them to return incorrect values.
|
|
|
|
o Added code to osgimpostor demo to insert an Impostor above models
|
|
|
|
which don't have an osg::Group at their root.
|
|
|
|
o Fixed bug in osgUtil::VisualsRequirementsVisitor so that by default the
|
|
|
|
alpha and stencil buffers are not required.
|
|
|
|
o Added reporting of visuals requested in osgGLUT::Viewer::open(), accessible
|
|
|
|
only as INFO, so doesn't get reported by default. To see the reporting
|
|
|
|
set the environmental variable OSGNOTIFYLEVEL INFO
|
|
|
|
|
|
|
|
8th August 2001 - osg-20010808.tar.gz
|
|
|
|
|
|
|
|
o Made the new flt loader the standard flt loader for the release,
|
|
|
|
deleted the old one.
|
|
|
|
o From Brede Johansen - fix to material sharing in new flt loader.
|
|
|
|
- new default values for the light source in
|
|
|
|
SceneView::setDefaults.
|
|
|
|
o From Randall Hopper - fixes to osgWX and wxsgv.
|
|
|
|
|
|
|
|
7th August 2001 - osg-20010807.tar.gz
|
|
|
|
|
|
|
|
o Updated version numbers to reflect the imminent 0.8.42 release.
|
|
|
|
o Fixes to osg::Camera::calc_fovx() and calc_fovy() which were incorrectly
|
|
|
|
takening into account zNear in calculation of field of view.
|
|
|
|
o From Randall Hopper - fixes to warnings under IRIX in the .dw plugin.
|
|
|
|
o From Randall Hopper/Robert Osfield - fixes for the unix Makefile and
|
|
|
|
source files in src/Demos/wxsgv demo.
|
|
|
|
o From Karsten Weiss - bug fixes to osg::Group::removeChild and replaceChild.
|
|
|
|
|
|
|
|
6th August 2001 - osg-20010806.tar.gz
|
|
|
|
|
|
|
|
o From Ben Discoe - integated osgWX library and Demos wxsgv viewer, which
|
|
|
|
demonstrates osg integration with wxWindows!!!
|
|
|
|
note, Unix Makefiles have not been tested yet, and the
|
|
|
|
the MS projects are not linked up by default.
|
|
|
|
o From Ben Discoe - fixed a misleading typo in src/osgUtil/Registry.cpp.
|
|
|
|
- added a guard into SceneView::draw() to prevent
|
|
|
|
a crash when no scene data is attached to the
|
|
|
|
scene view and the draw method is called.
|
|
|
|
o Fixed waning in osg::CullingVolume::operator = (..) related to a missing
|
|
|
|
return *this;
|
|
|
|
o Renamed osgUtil::BufferRequirementsVisitor to
|
|
|
|
osgUtil::VisualsRequirmentsVisitor to make it more in keeping with the
|
|
|
|
setting up of OpenGL 'visuals', and changed the apply(StateSet&)
|
|
|
|
method to applyStateSet(StateSet&) to prevent warnings under IRIX.
|
|
|
|
o Converted src/osgPlugin/newflt/Makefile from dos style text into unix
|
|
|
|
style text.
|
|
|
|
|
|
|
|
5th August 2001 - osg-20010805.tar.gz
|
|
|
|
|
|
|
|
o Fixed culling bug related to having osg::Transform within the
|
|
|
|
scene graph which scale dramatically - the bug was in osg::Plane
|
|
|
|
which didn't renormalize the plane equation after transformation.
|
|
|
|
Renormalization is required for the isCulled(BoundingSphere&,..)
|
|
|
|
method.
|
|
|
|
o From Geoff Michel - primitive and depth complextity statistics added
|
|
|
|
to osgUtil::RenderBin/RenderStage and osgGLUT::Viewer. New class
|
|
|
|
osgUtil::Statistics records no of primitive etc per frame.
|
|
|
|
o Fixed bug in osgUtil::CullVisitor::pushCullViewState(..) where
|
|
|
|
the up vector was being incorrectly transformed, resulting in
|
|
|
|
sporadic impostor orientations.
|
|
|
|
o From Randall Hooper - fixes to CullVisitor to solve inappropriate warnings
|
|
|
|
which occured when the near and far values were calculated with the
|
|
|
|
range numerically rounding errors. Also fix to osg::Matrix::transform3x3
|
|
|
|
which was implementated incorrectly.
|
|
|
|
o From Brede Johansen
|
|
|
|
- integrated update flt loader which will allow it
|
|
|
|
to handle old Open Flight file versions.
|
|
|
|
- also Integrated a small patch to osgPlugins/flt/flt2osg.cpp from
|
|
|
|
Judd Tracy w.r.t converting ConvertFromFLT::visitDOF(..) to use
|
|
|
|
osg::Transform instead or osg::Group. I have added a comment
|
|
|
|
to this method as it still isn't complete, and will need the
|
|
|
|
osg::Transform's matrix to be set up to refelct the DOFRecord.
|
|
|
|
- Testing with Berkleys dataset revealled that the new flt loader was
|
|
|
|
creating one triangle per geoset which causes a massive loss in performance,
|
|
|
|
I've look for an obvious cause for this, but don't understand the code
|
|
|
|
enough to track it down. I have reverted to the old flt (0.8.41) plugin
|
|
|
|
and moved the new flt plugin to src/osgPlugins/newflt. I will make it
|
|
|
|
the default once the problem has been fixed. RO.
|
|
|
|
o Added osg::Matrix::set(const float* ) implemention to src/osg/Matrix.cpp.
|
|
|
|
o Fixed typos of "spshere","albiet","overiden" & "completly" in include/osg.
|
|
|
|
|
|
|
|
|
|
|
|
25th July 2001 - osg-0.8.41
|
|
|
|
|
|
|
|
o Replaced osg::Camera::setModelTransform(..) with more flexible
|
|
|
|
osg::Camera::attachTransform(TransformMode,Matrix*) which allows
|
|
|
|
for setting of both a EYE_TO_MODEL or MODEL_TO_EYE transforms.
|
|
|
|
osg::Camera::getTransform(TransformMode) and dirtyTransform()
|
|
|
|
has also been added, the later to allow the Camera to know about
|
|
|
|
external modifications to attach transforms.
|
|
|
|
o Updated NEWS file.
|
|
|
|
o Removed second entry for png plugin from src/osgPlugins/Makefile.
|
|
|
|
|
|
|
|
24th July 2001 - osg-20010724.tar.gz
|
|
|
|
|
|
|
|
o Updated the INSTALL file to include mention of make install and
|
|
|
|
make help.
|
|
|
|
o Fixed two bugs in the osg::Impostor implementation, the first related
|
|
|
|
to the handling of empty impostors, the second was the handling of
|
|
|
|
impostors composed of depth sorted bins.
|
|
|
|
|
|
|
|
23rd July 2001 - osg-20010723.tar.gz
|
|
|
|
|
|
|
|
o Bumped version numbers up to 0.8.41 in preperation for the release.
|
|
|
|
o Fixed a bug in src/osgPlugin/pfb's conversion of Performer texture
|
|
|
|
filter modes into osg, the mag filter was being set with a invalid
|
|
|
|
enumerant. The bug resolved itself as OpenGL errors being reported
|
|
|
|
to the console on loading some .pfb files.
|
|
|
|
o Added osgUtil::RenderStageLighting to encapsulate the lighting
|
|
|
|
of the osgUtil::RenderStage, and to allow sharing of lighting
|
|
|
|
between RenderStages, such when using pre-rendering stages.
|
|
|
|
o Added osg::Drawable::s/getSupportDisplayList() which can be used
|
|
|
|
to prevent display lists from being used on specified drawables.
|
|
|
|
Typical use would be to protect dynamic drawables such as continous
|
|
|
|
level of details drawables from being encapsulated with a display
|
|
|
|
list. Attempts to turn on display lists on such a drawable will
|
|
|
|
now results in a warning, and will have no affect on the drawable.
|
|
|
|
o Added osgUtil::BufferRequirementsVisitor to traverse a scene graph
|
|
|
|
establishing the OpenGL buffers required to support rendering of
|
|
|
|
that scene graph. The results can then be used by applications to
|
|
|
|
set up there windows with the corret visuals. Modified osgGLUT::
|
|
|
|
Viewer::open() to use the new visitor and set up the buffers
|
|
|
|
accordingly. The calls to gluInitDisplayString in the demos are
|
|
|
|
now redundent and have been removed.
|
|
|
|
|
|
|
|
21th July 2001 - osg-20010721.tar.gz
|
|
|
|
|
|
|
|
o Added support for depth sorting of impostor sprites into
|
|
|
|
osgUtil::CullVisitor and added public methods to osg::CullVisitor
|
|
|
|
to allow the switching on or off or impostor depth sorting, and
|
|
|
|
the turning on or off of impostors.
|
|
|
|
o Added demo osgviews to demostrate multiple views of single scene,
|
|
|
|
not currently functional, will fix later.
|
|
|
|
o From Randall Hopper - support for multiple viewports in osgGLUT::Viewer.
|
|
|
|
o From Geoff Mitchel - new OpenGL based stats reporting added to
|
|
|
|
osgGLUT::Viewer. Similar in style to Performer's perfly stats.
|
|
|
|
o Fixed the osg::Camera::home() method so its sets to the OpenGL
|
|
|
|
defaults position of looking down the z axis, with the upvector
|
|
|
|
along the +ve y axis.
|
|
|
|
o Fixed a warning in osg::State.
|
|
|
|
|
|
|
|
18th July 2001 - osg-20010718.tar.gz
|
|
|
|
|
|
|
|
o Further improvements to the osg::Impostor implementation, various
|
|
|
|
bugs have been fixed and out of date ImpostorSprite's can now be
|
|
|
|
reused via an osg::ImpostorSpriteManager, which is stored in the
|
|
|
|
osgUtil::CullVisitor.
|
|
|
|
o Added an osgUtil::InsertImpostorsVisitor which traverses the
|
|
|
|
scene graph inserting osg::Impostor nodes above osg::Group's
|
|
|
|
(and its subclasses such osg::Transform) and converts osg::LOD
|
|
|
|
nodes into osg::Impostor nodes. The demo osgimpostor has been
|
|
|
|
modified to use the new InsertImpostorsVisitor.
|
|
|
|
|
|
|
|
13th July 2001 - osg-20010713.tar.gz
|
|
|
|
|
|
|
|
o Various improvements to the osg::Imposter implementation, now includes
|
|
|
|
pixel error calculation which will work for both perspective and
|
|
|
|
othographic projections. The Impostor doesn't currently support
|
|
|
|
texture reuse, but the much of the code to support is implemented,
|
|
|
|
yet have to tie up the loose ends for the next release now.
|
|
|
|
o Fixes to osg::Texture::copyTexSubImage2D to ensure that _mag_filter
|
|
|
|
was set to LINEAR, to ensure that mipmaps arn't used.
|
|
|
|
o Fixed Visual C++ workspace file for .dw plugin, to ensure under
|
|
|
|
debug build it correctly links to glu library.
|
|
|
|
|
|
|
|
12th July 2001 - osg-20010712.tar.gz
|
|
|
|
|
|
|
|
o Added src/Demo/osgimpostor to demonstrate how to use the new osg::Imppostor
|
|
|
|
node and to test the impostor implementation.
|
|
|
|
o Implemented first cut of osg::Impostor, ImpostorSprite,
|
|
|
|
and RenderToTextureStage. Implemention not complete, and bugs exists
|
|
|
|
which prevent the textured quad appearing with its texture?!
|
|
|
|
o Fixed osg::Camera::zNear()/zFar() methods which returning the wrong values.
|
|
|
|
o Updated AUTHORS file.
|
|
|
|
o From Geoff Mitchel, .dw (design workshop) loader plugin.
|
|
|
|
o Fixed coordinate transformation in osgPlugins/obj - Alias Wave OBJ loader.
|
|
|
|
o Fixed minor unsigned to signed comparision warning in osg::Texture.
|
|
|
|
|
|
|
|
1st July 2001 - osg-20010701.tar.gz
|
|
|
|
|
|
|
|
o Rewritten osg::Camera class to support Otho, Frustum and Perspective
|
|
|
|
projection modes. Significant API changes have been made, the new
|
|
|
|
Camera implementation is not backwards compatible.
|
|
|
|
o Added osg::ClippingVolume to represent a convex clipping volume.
|
|
|
|
o Added osg::Plane class to support view frustum clipping and other operations
|
|
|
|
requiring plane operations.
|
|
|
|
o Made corrections to osgtexture usage details.
|
|
|
|
o From Ulrich Hertlein - fixes to osg::Texture to prevent bind of textures
|
|
|
|
to NULL image data and added missing #include<osg/GeoSet> to
|
|
|
|
osgUtil::IntersectVistor.
|
|
|
|
o Removed the erroneous inline keyword from infront of
|
|
|
|
osg::StateSet::setRenderBinToInherit(..) which was causing compilation
|
|
|
|
errors under IRIX.
|
|
|
|
o Fixed file permission problems in include/osg/Object, and osgDB.
|
|
|
|
o Fixed a bug in osgGlut::Viewer where view frustum culling and small
|
|
|
|
feature culling could be toggled off,
|
|
|
|
o Fixed a bug in osg::Quat::makeRot(Vec3,Vec3) where the angle
|
|
|
|
calculated was incorrectly calculated. Also added a couple of
|
|
|
|
set methods and made the constructors inline.
|
|
|
|
o Added osg::Drawable::dirtyBound() which should be called when geometry
|
|
|
|
is updated. Note it does not dirty geodes above - this will have to be
|
|
|
|
done by caller.
|
|
|
|
|
|
|
|
June 26th osg-20010626.tar.gz
|
|
|
|
|
|
|
|
o Several changes related to making the NewCullVisitor now the
|
|
|
|
standard CullVisitor, since it now has greater functionalility,
|
|
|
|
performance and more robust than the previous incarnation of
|
|
|
|
CullVistor.
|
|
|
|
- Removed osgUtil::Renderer as this is now rendundent thanks to
|
|
|
|
the new RenderStage functionality.
|
|
|
|
- Replaced osgUtil::CullVisitor by osgUtil::NewCullVisitor and
|
|
|
|
removed NewCullVisitor references as these are nolnger needed.
|
|
|
|
- Moved osgUtil::CullViewState out of osgUtil::CullVisitor header
|
|
|
|
and into its only file header and source files.
|
|
|
|
- Updated osgUtil::SceneView to only refer to new standard CullVisitor.
|
|
|
|
- Updated Unix and VisualStudio files accordingly.
|
|
|
|
o Fixed problem related to calculation of the near far planes when
|
|
|
|
a non-uniform transformation exists in the scene graph.
|
|
|
|
o Fixed problem related to view fustum culling when a non-uniform
|
|
|
|
transformation exists in the scene graph. Solution was to use
|
|
|
|
the transpose of the inverse transformation matrix to transform
|
|
|
|
plane normals rather than the transformation matrix as used for
|
|
|
|
points.
|
|
|
|
o Fixed two bugs in osg::notify(), pinpointed by Randall Hooper.
|
|
|
|
The first was in osg::initNotifyLevel() - the check for DEBUG was
|
|
|
|
hidding the settings for DEBUG_FP and DEBUG_INFO since it was first
|
|
|
|
of these in the if/else code and all contain the word DEBUG. The
|
|
|
|
solution was to move DEBUG check to the last entry.
|
|
|
|
The second bug was related to osg::setNotifyLevel() - if this method
|
|
|
|
was called before the first call to osg::notify() then osg::notify
|
|
|
|
would automatically call initNotifyLevel and overwrite the
|
|
|
|
setNotifyLevel value. The fix was to make setNotifyLevel call
|
|
|
|
initNotifyLevel itself before setting the value, and add protection
|
|
|
|
into initNotifyLevel so that the internal code is never executed
|
|
|
|
more than once.
|
|
|
|
|
|
|
|
June 22nd - osg-20010622.tar.gz
|
|
|
|
|
|
|
|
o Added osgUtil::NewCullVisitor::createOrReuseMatrix() and
|
|
|
|
createOrReuseRenderLeaf() methods to allow reuse of what was temporary
|
|
|
|
memory from frame to frame. Combined with the new near and far
|
|
|
|
plane code, the cull traversal for models like Performer town is
|
|
|
|
now 40-60% faster, and on models with a large nuber of internal
|
|
|
|
transforms the figure can be 80+% faster :-)
|
|
|
|
o Changed the techinique for calculating the near and far planes inside
|
|
|
|
NewCullVsitor to be more efficient - now about up to and over 4 times
|
|
|
|
faster! Makes a particular difference on models with large numbers
|
|
|
|
of transform nodes.
|
|
|
|
o Changed osg::Draw::drawImmediateMode() so that it takes an osg::State
|
|
|
|
as a parameter.
|
|
|
|
o Changed the referencs to -glut in unix Makefiles so that is is specified
|
|
|
|
by a $(GLUTLIB) paramter, which is now set in the Make/makedefs.* files.
|
|
|
|
This allows the GLUTLIB to be changed to allow linking to static glut
|
|
|
|
libraries. It defaults still defaults to -glut as before, so no change
|
|
|
|
in standard behavior will be noticed.
|
|
|
|
o Added osgUtil::RenderToTextureStage in preperation for support for
|
|
|
|
Imposters.
|
|
|
|
o Added osg::Impostor, ImpostorSprite header and source files, these files
|
|
|
|
are simply shells for future integration work, and do not currently function
|
|
|
|
as Impostors. Modified osg::NodeVisitor and osg::CullVisitor so that
|
|
|
|
they now recognise the Impostor node.
|
|
|
|
|
|
|
|
June 18th - osg-20010618.tar.gz
|
|
|
|
|
|
|
|
o Reverted to the prev_ReaderWriterPNG.cpp since I was having problems
|
|
|
|
loading png files that used to work. This will break other png files
|
|
|
|
for which the new_ReaderWriterPNG.cpp was created to handle. Both
|
|
|
|
clearly arn't up to job and need a rewrite. Will do this later...
|
|
|
|
o Made osg::Camera::draw_PROJECTION() and osg::Camera::draw_MODELVIEW()
|
|
|
|
virtial functions to allow subclassing.
|
|
|
|
o Removed the references to opengl.lib and glu.lib from the lwo loaders
|
|
|
|
as they arn't required.
|
|
|
|
o Under Unix, changed the names of the jpeg and tiff plugins from libdb_jpg.so
|
|
|
|
and libdb_tif.so to libdb_jpeg.so and libdb_tiff.so respectively, and
|
|
|
|
used the new addFileExtensionAlias to alias the common file etension to
|
|
|
|
use these new names. This makes it consistent with the name of the
|
|
|
|
directories and source files in the distribution. Windows already used
|
|
|
|
this convention.
|
|
|
|
o Added osgDB::Registry::addFileExtensionAlias(,) to allow file extension
|
|
|
|
to be aliased to appropriate osgPlugins. Current default aliases are:
|
|
|
|
addFileExtensionAlias("rgba", "rgb");
|
|
|
|
addFileExtensionAlias("int", "rgb");
|
|
|
|
addFileExtensionAlias("inta", "rgb");
|
|
|
|
addFileExtensionAlias("bw", "rgb");
|
|
|
|
addFileExtensionAlias("jpg", "jpeg");
|
|
|
|
addFileExtensionAlias("jpe", "jpeg");
|
|
|
|
addFileExtensionAlias("tif", "tiff");
|
|
|
|
addFileExtensionAlias("geo", "lwo");
|
|
|
|
addFileExtensionAlias("lw", "lwo");
|
|
|
|
o Pulled libtiff, libpng and libjpg win32 image libraries from the
|
|
|
|
OpenIL image library distrbution and placed them into a zip archive
|
|
|
|
for win32 users to install, instead of having to trawl the internet
|
|
|
|
for them.
|
|
|
|
|
|
|
|
June 15th 2001 - osg-20010615.tar.gz
|
|
|
|
|
|
|
|
o Updated the TARGET_INCLUDE_FILES to reflect current set of include
|
|
|
|
files so that make install works properly once more.
|
|
|
|
o Fixed the src/osgUtil/Tesselate.cpp so that it detects the
|
|
|
|
defination of GLU_VERSION_1_2 and use modern glu tesselation
|
|
|
|
functions rather than the old style deprecated glu tess functions.
|
|
|
|
This fixed compilation problems under recent versions of Mesa.
|
|
|
|
o Fixed the texture coordinates of the top of the tank in the hangglide
|
|
|
|
demo - the center point texture coords were not being initiliaed
|
|
|
|
o Fixed a crash in osg::Texture::apply() which occurred when it was
|
|
|
|
called without a valid image being attached. The fix is simply
|
|
|
|
to add an _image.valid() check at the begining of the method.
|
|
|
|
o Changed src/Demos/sgv/Makefile so that it defaulted to *not* linking
|
|
|
|
with Performer - the previous dev release had this as default which
|
|
|
|
it shouldn't have.
|
|
|
|
|
|
|
|
|
|
|
|
June 13th 2001 - osg-20010613.tar.gz
|
|
|
|
|
|
|
|
o Added support osg::StateSet::RenderBinDetails into .osg
|
|
|
|
reader/writer plugin. This now allows multi-pass models to be saved
|
|
|
|
and loaded, such as osfreflect demo can now be reproduced in a .osg
|
|
|
|
file.
|
|
|
|
o Added support for osg::Stencil, osg::Depth, osg::ClipPlane and
|
|
|
|
osg::ColorMask classes to .osg reader/writer plugin.
|
|
|
|
o Added support osg::Drawable:UseDisplayList into .osg reader/writer plugin.
|
|
|
|
o Fixed the src/osgPlugins/pfb/ConvertFromPerformer.cpp so that is scales
|
|
|
|
the shininess value correctly when converting materials to osg.
|
|
|
|
o Added checks to osg::Material::set*(..) methods to use the new bounds
|
|
|
|
checking utilties to clamp values to valid ranges.
|
|
|
|
o Added include/osg/BoudingChecking header file with template definitions for
|
|
|
|
clamping paramters to specified ranges. template functions provided are:
|
|
|
|
clampGEQUAL(...), clampLEQUAL(..) amd clampBetweenRange().
|
|
|
|
|
|
|
|
|
|
|
|
11th June 2001 - osg-20010611.tar.gz
|
|
|
|
|
|
|
|
o Went through library source adding, where required to suppress spurious
|
|
|
|
warnings in during MSVC++ debug compilation, pragma warning ( disable 4786)
|
|
|
|
o Changed the mapping of coordinates in the .obj and .lwo loaders from
|
|
|
|
+x east, +y upwards, +z north (as specified in file specs) to the OSG's
|
|
|
|
+x east,+y north,+z updwards. The windings of triangles has also been
|
|
|
|
flipped to handle this change.
|
|
|
|
o Added a RegistryPtr class to handle the destruction of the the
|
|
|
|
registry, assinging NULL to the pointer once the registry is
|
|
|
|
deleted. Subsequent calls to the get() of RegistryPtr will
|
|
|
|
return NULL, which can be used for testing whether the registry
|
|
|
|
still exists or not. This means that Registry::instance() will
|
|
|
|
now return NULL if the registry has been automatically deleted.
|
|
|
|
The RegisterDotOsgWrapperProxy and RegistryReaderWriterProxy have
|
|
|
|
been modified to use this new property to prevent the registry
|
|
|
|
being called once it has been deleted. This has been done to
|
|
|
|
prevent out of order destruction causes seg faults on exit.
|
|
|
|
o Added Tesselator to src/osgUtil to be used in for breaking up
|
|
|
|
concave polygons into triangles - uses the glu tesselator.
|
|
|
|
o Reimplemeted src/osgPlugins/lwo to use new tesselator and allocate
|
|
|
|
seperate vertex lists for each material type.
|
|
|
|
o From Randall Hopper - Added missing int from static definition in
|
|
|
|
src/GLUT/Viewer.cpp.
|
|
|
|
o Removed use to OSGHOME from src/osgPlugins/lwo & obj Makefiles,
|
|
|
|
replacing with normal relative include paths for makedefs and rules.
|
|
|
|
o Removed unnecessary glib reference from src/osgPlugins/lwo/Makefile.
|
|
|
|
|
|
|
|
7th June 20001 - osg-200010607.tar.gz
|
|
|
|
|
|
|
|
o From Ulrich Hertlein - .obj and .lwo loaders. Various fixes and porting
|
|
|
|
to Windows done by Robert Osfield.
|
|
|
|
o Fixed bug in osgcube related to the color of the cube having an alpha
|
|
|
|
value of 0.0, which resulted in all OpenGL fragmennts failing the
|
|
|
|
AlphaFunc test which is now on by default. Changed the alpha to 1.0
|
|
|
|
for opaque.
|
|
|
|
o Implemented a multi-pass reflection demo in src/Demos/osgreflect which
|
|
|
|
uses the stencil buffer to tag mirror bits, and 5 render bins to order rendering
|
|
|
|
as Mark Kilgard's paper "Improving Shadow and Reflections via the
|
|
|
|
Stencil Buffer" which can be download at the NVidia website.
|
|
|
|
o Moved osg::Stencil, osg::Depth and osg::ColorMask from src/Demos/osgreflect
|
|
|
|
into the core osg library.
|
|
|
|
o Added osg::ClipPlane StateAttribute subclass to encapsulate OpenGL's
|
|
|
|
glClipPlane function.
|
|
|
|
|
|
|
|
|
|
|
|
31st May 2001 - osg-20010531.tar.gz
|
|
|
|
|
|
|
|
o Added osg::Stencil, osg::Depth and osg::ColorMask StateAttribute
|
|
|
|
subclasses to the osgreflect demo to enable multi-pass use of the
|
|
|
|
stencil buffer. osgreflect.cpp has yet to be modified to take
|
|
|
|
advatange of these new state class or multi-bin functionality,
|
|
|
|
this will be done for the next dev release. The Stencil, Depth
|
|
|
|
and ColorMask classes will be added into the core osg for the
|
|
|
|
next release.
|
|
|
|
o Added beginings of osgUtil::NewCullVisitor which will support the
|
|
|
|
new multi-pass/stage functionality, and replace osgUtil::CullVisitor
|
|
|
|
once the functionality is finalised. osgUtil::SceneView has been
|
|
|
|
modified to use either NewCullVisitor & RenderBin etc or the
|
|
|
|
previous CullVisitor/Renderer functionality. SceneView defaults
|
|
|
|
to the NewCullVisitor.
|
|
|
|
o Added beginings of osgUtil::RenderBin,osgUtil::DepthSortedBin and
|
|
|
|
osg::RenderStage to support multi-pass and multi-stage rendering.
|
|
|
|
o Fixed bug in osg::Matrix::mult(const Matrix& lhs,const Matrix& rhs)
|
|
|
|
which occured when either the lhs or rhs paramters were the same
|
|
|
|
matrix and 'this'. The osg::Matrix::invert(const Matrix& m) also
|
|
|
|
sufferd the potential problem. In both methods I've added checks
|
|
|
|
against the 'this' pointer to trap these cases and create a temporary
|
|
|
|
copy of 'this' before proceeding.
|
|
|
|
o From Ulrich Hertlein - support for texture subloading in osg::Texture.
|
|
|
|
|
|
|
|
25th May 20001 - osg-20010525.tar.gz
|
|
|
|
|
|
|
|
o Added new osgUtil::RenderLeaf class for storing drawable, matrix &
|
|
|
|
depth data and for rendering in conjunction with osgUtil::Renderer.
|
|
|
|
RenderLeaves are themselves stored inside the RenderGraph and
|
|
|
|
replace the previous pair<Drawable,Matrix> which did a similar job.
|
|
|
|
The new class allows extension, via subclassing, of the data stored
|
|
|
|
in a RenderLeaf, such as id's for picking, and also override of
|
|
|
|
the local rendering behavior via a its virtual render(..) method.
|
|
|
|
o Changed the printing of frame rate stats so that it prints out
|
|
|
|
appropriately every second rather than every frame, therefore
|
|
|
|
reducing the overhead of printing out to the terminal.
|
|
|
|
o Added prioritizeTextures() method to osgUtil::Renderer which parses
|
|
|
|
the draw bins and calculates the most appropriate texture priotization.
|
|
|
|
o Added getTextureObject(..) and getTextureObjectSize() to osg::Texture
|
|
|
|
to allow details of the texture object to be publicly accessed.
|
|
|
|
o Implemented view frustum culling that switches of redundent checks
|
|
|
|
against the side sides of the view frustum when traversing children.
|
|
|
|
|
|
|
|
19th May 2001 - osg-0.8.40 (minor updates made to release of 18th May)
|
|
|
|
|
|
|
|
o Small correction to NEWS file.
|
|
|
|
o Small updates to index.html.
|
|
|
|
o Removed '-ldl' from makedefs.irix.* as it is not required.
|
|
|
|
|
|
|
|
18th May 2001 - osg-0.8.40
|
|
|
|
|
|
|
|
o Updated Make/makedefs.* to better support FreeBSD compilation.
|
|
|
|
o Updated index.html and doc/Doxyfiles/* to include references to
|
|
|
|
the osgDB library and osgtexture demo program.
|
|
|
|
o Changed the default IRIX make to make.std, and make.nonstd to
|
|
|
|
make irix.old.
|
|
|
|
o Added src/Demos/osgtexture - a demo to demostrate the various texture
|
|
|
|
modes possible with osg::Texture.
|
|
|
|
o Fixed CullVisitor::setCullingActive(..) so that it now sets
|
|
|
|
the current CullViewState's modes as it should, previously only the
|
|
|
|
CullVisitor::pushMatrix() was setting these values.
|
|
|
|
o From Zang Zong Shan - bug fix to osg::Group::removeChild() to ensure that
|
|
|
|
the parent is removed from its child properly.
|
|
|
|
o From Karsten Wiess (with small mods for to avoid sqrt by Robert Osfield)
|
|
|
|
added osg::BoundingSphere::intersects( const BoundingSphere& bs )
|
|
|
|
o Add comments to methods include/osg/StateSet and StateAttribute.
|
|
|
|
o Added osg::Texture::readImageFromFramebuffer(...) from Karsten Weiss'
|
|
|
|
Imposter code. Note, name of method has been changed (from get..) and
|
|
|
|
State parameter added to allow the handling of multiple contexts.
|
|
|
|
o Changed the png plugin to use code from simage rather than previous
|
|
|
|
png code that the osg used, solving a crash reported on some png
|
|
|
|
files.
|
|
|
|
o Added temporary fixes into include/osg/StateSet, src/osg/StateSet.cpp
|
|
|
|
and src/osgPlugins/osg/StateSet.cpp to get round a crash under Windows
|
|
|
|
when saving a dot osg file. Actual problem has not been isolated,
|
|
|
|
so fix will be removed once real problem has been solved.
|
|
|
|
o From - added support for IMB_MIRROR_REPAT extension into
|
|
|
|
osg::Texture and .osg plugin.
|
|
|
|
o Added code to osgPlugins/osg/Texture.cpp to record the original
|
|
|
|
name of the image filename to be passed onto the image filename,
|
|
|
|
instead of the absolute path with name as recorded by the image
|
|
|
|
plugins themselves. This changes preserves the name from loaded
|
|
|
|
.osg through to any subsequent save .osg.
|
|
|
|
|
|
|
|
10th May 2001 - osg_20010510.tar.gz
|
|
|
|
|
|
|
|
o Bumped version numbers up to 0.8.40
|
|
|
|
o Added #include<osg/GeoSet> to osgUtil/SmoothingVisitor.
|
|
|
|
|
|
|
|
9th May 2001 - osg-20010509.tar.gz
|
|
|
|
|
|
|
|
o From Randall Hooper - modifications to osg::Timer, Makefile's and
|
|
|
|
the addition of Makefile/makedefs.freebsd Makefile/makerules.freebsd
|
|
|
|
to add support for the FreeBSD flavor of Unix!
|
|
|
|
o From Axel Volley - fixes to FieldReader and RenderGraph headers and
|
|
|
|
to Make/makedefs.irix.* to fix compilation problems which have
|
|
|
|
occurred under IRIX with the latest dev versions.
|
|
|
|
o Added the ability to clean and reuse the RenderGraph tree from
|
|
|
|
frame to frame, thus reducing the memory overhead of allocation
|
|
|
|
and deleting on each frame.
|
|
|
|
|
|
|
|
8th May 2001 - osg-20010508.tar.gz
|
|
|
|
|
|
|
|
o Added osg::StateAttribute::clone()=0 to the StateAttribute header file
|
|
|
|
to complete the overriding of osg::Object's virtual methods.
|
|
|
|
o Revised the StateAttribute/StateSet/State API a small amount to make
|
|
|
|
it more consistent.
|
|
|
|
o Fixed memory leak in new version of CullVisitor where more Matrices
|
|
|
|
were being allocated than required, and were left unreferenced.
|
|
|
|
o Fixed viewing bug in hangglide, introduced in osg-20010418.tar.gz
|
|
|
|
with the modifications to the osg::CameraManipulator base class.
|
|
|
|
o Added const and inline to methods in include/osg/* header files,
|
|
|
|
making it more explicit which methods are inline, and which paramters
|
|
|
|
and returns types are const. The later can help compilers produce
|
|
|
|
appropriate compiler errors when inappripriate things are done with
|
|
|
|
return types, which is good for compile error detection, and also
|
|
|
|
allows the compiler to more aggressive optimizer code.
|
|
|
|
o Fixed compilation error in osg::Output::open(,,,) under windows by
|
|
|
|
removing method. This is not a problem to end users since the
|
|
|
|
method was only added for absolute completness of overriding the
|
|
|
|
ofstream::open() method.
|
|
|
|
|
|
|
|
6th May 2001 - osg-20010506.tar.gz
|
|
|
|
|
|
|
|
o Added osg::State::apply(const osg::StateSet*) to apply a StateSet
|
|
|
|
without requiring a pushStateSet(),apply(),popStateSet() as required
|
|
|
|
in previous dev version. Combined with the two changes changes
|
|
|
|
below draw traversal times have been reduced significantly on
|
|
|
|
models with large number of state changes (such as billboarded trees
|
|
|
|
in Performer town.) Both Cull and Draw traversal times are now
|
|
|
|
faster than previous releases.
|
|
|
|
o Moved the support for tranform Matrices in the osgUtil::RenderGraph
|
|
|
|
into a Drawable/Matrix pair rather than one per RenderGraph element.
|
|
|
|
Modifed osgUtil::CullVisitor and osgUtil::Renderer to reflect this
|
|
|
|
change.
|
|
|
|
o Added 'inline' keyword to numerous methods in osg and osgUtil header
|
|
|
|
files to give a less subtle hints to compilers than a inline method
|
|
|
|
is indeed inline. VisualC++ particularily seems to need inline
|
|
|
|
to specified explicitly.
|
|
|
|
o Added osgDB::Output::s/getPathNameHint() and Output::setPathNameHint(..)
|
|
|
|
to to help future support for absolute filepaths, relative file paths
|
|
|
|
in the .osg outout. Currently only implements AS_IS and FILENAME_ONLY.
|
|
|
|
|
|
|
|
3rd May 2001 - osg-20010503.tar.gz
|
|
|
|
|
|
|
|
o Modified osgUtil::SceneView to reference the RenderGraph and Renderer's.
|
|
|
|
o Modified osgUtil::CullVisitor so it creates a RenderGraph instead on
|
|
|
|
the previous DrawBin.
|
|
|
|
o Added osg::StateSet::g/setRenderingHint(..) to allow hints to be passed
|
|
|
|
on to the Renderer to allow it place the drawables in the appropriate
|
|
|
|
rendering bin for rendering. This allows, for instance the rendering
|
|
|
|
transparent bin to be addressed independantly from the current GL_BLEND
|
|
|
|
mode. An int is used so more than just Opqaue or Transparent bins could
|
|
|
|
be referenced from within the scene graph (but these must be handled
|
|
|
|
by Renderer subclasses.)
|
|
|
|
o Replaced osgUtil::DrawBin by osg::Renderer which traverses a RenderGraph
|
|
|
|
to generate its own render bins, supports basic coursed grained state
|
|
|
|
sorting. Designed to subclassed to allow users to modify the rendering
|
|
|
|
behaviour.
|
|
|
|
o Implemented new osgUtil::RenderGraph class for storing state, matrix and
|
|
|
|
drawable data produced from a cull traversal (such as by CullVisitor.)
|
|
|
|
o Removed all osg::StateAttribute subclasses static void enable()/disable()
|
|
|
|
as these have been made redundent by the new osg::State/StateSet &
|
|
|
|
StateAttribute functionality.
|
|
|
|
o Removed osg::Lighting since it is now redundent thanks to new
|
|
|
|
functionality of osg::State/StateSet & StateAttribute functionality.
|
|
|
|
o Reworked the .osg, .pfb, .3ds and .flt loaders to use the new
|
|
|
|
osg::StateSet class.
|
|
|
|
o Reworked osgUtil, osgDB, osgGLUT, Demos/osgcube, osgreflect and hanglide
|
|
|
|
to use the new osg::StateSet class.
|
|
|
|
osg::StateSet class.
|
|
|
|
o Renamed osgUtil::GeoStateManipulator to osgUtil::StateSetManipulator
|
|
|
|
be consitent with GeoState's replacement.
|
|
|
|
o Replaced osg::GeoState with new more flexible osg::StateSet.
|
|
|
|
osg::GeoState nolonger exists so users will have to port to use the
|
|
|
|
new osg::StateSet. Functionality can easily be mapped across to the
|
|
|
|
StateSet so this should not be difficult task.
|
|
|
|
o Removed the deprecated RenderVisitor since it has now been replaced
|
|
|
|
by the more flexible and powerful CullVisitor/DrawBin pair (which
|
|
|
|
themselves may be replaced later by more flexible and powerful...:)
|
|
|
|
o Fixed osg:Geode::computeBound() method so that it handled empty geode's
|
|
|
|
correctly setting the Bounding Sphere to default initialized state to
|
|
|
|
represent and empty sphere. Previous (nan,nan,nan) was calculated for
|
|
|
|
the center of the bounding sphere for empty data.
|
|
|
|
o To fix a compliation collision when #define DEBUG is used and Notify is
|
|
|
|
included, have changed enum NotifySeverity { ... DEBUG=5, FP_DEBUG=6 }
|
|
|
|
to enum NotifySeverity { ... DEBUG_INFO=5, DEBUG_FP=6 }
|
|
|
|
|
|
|
|
18th April 2001 - osg-20010418.tar.gz
|
|
|
|
|
|
|
|
o From Neil Salter, additions to osgUtil of new
|
|
|
|
osgUtil::GUIEventHandler,
|
|
|
|
osgUtil::SceneViewManipulator and
|
|
|
|
osgUtil::GeoStateManipulator.
|
|
|
|
o Fixed date problems in distribution which occured in osg-20010416.tar.gz.
|
|
|
|
o Added make stats option to the root Makefile to allow the number of lines
|
|
|
|
of code in each component of the OSG to be logged.
|
|
|
|
|
|
|
|
16th April 2001 - osg-20010416.tar.gz
|
|
|
|
|
|
|
|
o Added Don Burns sgv key bindings documentaiton into doc/sgv.html
|
|
|
|
o Added s/getState() to osgUtil::DisplayListVisitor to provide state
|
|
|
|
for the compile display list method to use. Added new DisplayListMode
|
|
|
|
COMPILE_ON_DISPLAY_LISTS which is implemented so that if display
|
|
|
|
lists are already switched on in the traversed scene graph are
|
|
|
|
compiled.
|
|
|
|
o Added support for multiple OpenGL contexts (and hence multiple seperate
|
|
|
|
texture object and display lists) into osg::Texture::apply(State&) and
|
|
|
|
osg::Drawable::draw(State&). This allows the OSG to work in multipipe
|
|
|
|
systems.
|
|
|
|
o Added (State& state) parameter to both osg::StateAttribute::apply(State&)
|
|
|
|
and osg::Drawable::draw(State&) to allow the handling multiple OpenGL
|
|
|
|
context. All subclass' of StateAttribute and Drawable have been updated
|
|
|
|
to reflect this new paramter.
|
|
|
|
o Added s/getContextID() to osg::State to handle the specification of
|
|
|
|
a unique unsigned int to specifiy the current active OpenGL context.
|
|
|
|
This value is in turn used by osg::Texture and osg::Drawable to
|
|
|
|
manage multiple texture binds and display lists, one for each
|
|
|
|
OpenGL context, thus enabling multi-pipe support.
|
|
|
|
o Fixed the osgDB::Registry::writeObject() so that it supports the
|
|
|
|
writing of osg::Object UniqueID out to .osg.
|
|
|
|
|
|
|
|
7th April 2001 - osg-20010407.tar.gz
|
|
|
|
|
|
|
|
o Added numerous get and set methods to a large proportion of classes in
|
|
|
|
the core osg library. Made methods const correct where appropriate.
|
|
|
|
Also modifed several enum type names to be more consistent from class
|
|
|
|
to class.
|
|
|
|
o From Karsten Wiess - added osg::Matrix::makeRot(Vec3,Vec3).
|
|
|
|
o Added ostream << operator to osg::Matrix for debugging purposes.
|
|
|
|
o Changed osg::Object::isSameKindAs(Object*) to be const correct i.e
|
|
|
|
isSameKindAs(const Object*) const. All subclasses of osg::Object
|
|
|
|
have been updated to reflect this change.
|
|
|
|
o Changed the osg::Billboard::get* functions so that they return
|
|
|
|
values rather than requiring the paramter passesing. This has been
|
|
|
|
done to be more consistent with the rest of the osg, make it easier
|
|
|
|
to use and improve the potential for compiler optimization.
|
|
|
|
o Moved loadObject/Image/NodeFile from include/osg/Registry into
|
|
|
|
include/osgDB/ReadFile, and renamed them readObject/Image/NodeFile
|
|
|
|
to keep consistency with ReaderWriter & Registry.
|
|
|
|
o Moved saveObject/Image/NodeFile from include/osg/Registry into
|
|
|
|
include/osgDB/ReadFile, and renamed them writeObject/Image/NodeFile
|
|
|
|
to keep consistency with ReaderWriter & Registry.
|
|
|
|
o Moved database & dynamic plugin support out of core osg library into
|
|
|
|
seperate osgDB library which is now an optional layer above the core osg.
|
|
|
|
o Moved osg ascii support & ReaderWriter out of core osg library and into
|
|
|
|
a seperate osgPlugins osg plugin.
|
|
|
|
o Moved rgb image reader out of core osg library and into a seperate
|
|
|
|
osgPlugins osg plugin.
|
|
|
|
o Removed osg::Scene since it is now redundent thanks to the new ability
|
|
|
|
to attach osg::GeoState to all internal nodes within the scene graph.
|
|
|
|
o Removed osg::Sequence as it was nothing more than a shell implemention,
|
|
|
|
which could be inappropriately used. Will implement properly later.
|
|
|
|
|
|
|
|
29th March 2001 - osg-20010329.tar.gz
|
|
|
|
|
|
|
|
o renamed the following methods in osg::GeoSet for consistancy:
|
|
|
|
getNumIndices() -> getNumCoordIndices()
|
|
|
|
getCIndex() -> getCoordIndices()
|
|
|
|
getNumNIndices() -> getNumNormalIndices()
|
|
|
|
getNIndices() -> getNormalIndices()
|
|
|
|
getNumCIndices() -> getNumColorIndices()
|
|
|
|
getColIndex() -> getColorIndices()
|
|
|
|
getNumTIndices() -> getNumTextureIndices()
|
|
|
|
getTIndex() -> getTextureIndices()
|
|
|
|
o Itegrated changes from Bryan Woods for Mac port:
|
|
|
|
- include/osg/Timer - small macintosh #define comment out.
|
|
|
|
- src/osg/FileNameUtils.cpp - added using std::tolower,std::stlen
|
|
|
|
within #machintosh guards.
|
|
|
|
- src/osgGLUT/Viewier.cpp - #ifndef machintosh printing out
|
|
|
|
of library name and version in constructor.
|
|
|
|
- src/sgv.cpp & repsective files osgcube,osgreflect and hanglide have
|
|
|
|
moved the glutInit(,) call to the top of each main function.
|
|
|
|
- updated the Metroworks file
|
|
|
|
o Added a src/Demos/sgv/Makefile.performer and Makefile.standard to
|
|
|
|
all the direct linking to Performer hack to be easily applied to
|
|
|
|
sgv to get round the know problems with dynamically linking to
|
|
|
|
Peformer.
|
|
|
|
o Changed osgUtil::SceneViewer::draw() method so it would clear background
|
|
|
|
even if no model have been attached to the scene view.
|
|
|
|
o Changed include/osg/Notify to use #ifdef __GNUC__ instead of __linux
|
|
|
|
as guard for dummy code required to prevent a gcc warning.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25th March 2001 - osg-0.8.39.tar.gz
|
|
|
|
|
|
|
|
o Added option for uint indices in osg::GeoSet to allow very large models
|
|
|
|
to be represented.
|
|
|
|
o Moved the distribution version numbering from previous osg-0.8-39.tar.gz
|
|
|
|
style to more standard osg-0.8.39.tar.gz The distribution directory also
|
|
|
|
now reflects the new version numbering, so rather than the
|
|
|
|
OpenSceneGraph-0.8 the directory will be osg-0.8.39. These two changes
|
|
|
|
bring the OSG into line with established conventions in the open source
|
|
|
|
world.
|
|
|
|
o From Karsten Wiess - added small piece of dummy code into
|
|
|
|
include/osg/Notify to prevent inappropriate gcc warnings.
|
|
|
|
o From Neil Salter
|
|
|
|
- updated the doc/Doxyfiles directory to handle the
|
|
|
|
proposed version number i.e. osg-0.8.39 for next version.
|
|
|
|
- updated NEWS file to be compatibile with new automated scripts for
|
|
|
|
generating Doxygen documentation for distribution.
|
|
|
|
- updated osg banner in html pages to indicate documentation is
|
|
|
|
from the distribution.
|
|
|
|
o Fixed typo in src/osgPlugins/lib3ds/track.cpp which caused the lib3ds
|
|
|
|
to fail to build.
|
|
|
|
|
|
|
|
21st March 2001 - osg_src-20010321.tar.gz
|
|
|
|
|
|
|
|
o Added osg::StateAttribute base class, changed all state attribute
|
|
|
|
classes so that they now inherit from osg::StateAttribute and
|
|
|
|
changed osg::GeoSet to work with osg::StateAttribute. All
|
|
|
|
StateAttrbute subclasses (Texture/TexGen...) all now register
|
|
|
|
with the osg::Registry, and all .osg file reading uses these
|
|
|
|
prototype as per image,node, and drawable prototypes. Although
|
|
|
|
osg::GeoState is still hardwired to certain state attributes
|
|
|
|
as before much of the infrastructure around it has be upgraded
|
|
|
|
to pave the way for a more flexible osg::GeoState.
|
|
|
|
o Removed _drawBin->reset() from CullVisitor::reset() since it
|
|
|
|
should be reset extrenal to the CullVisitor.
|
|
|
|
o Added osgUtil::SceneView::s/getDrawBin() methods.
|
|
|
|
o Changed the lib3ds includes to be local header paths and
|
|
|
|
changed lib3ds/float.h to lib3ds/lib3ds_float.h to avoid
|
|
|
|
collisions with the system float.h. Note, the changes to
|
|
|
|
path required changes to both the source, Unix Makefile and
|
|
|
|
VisualStudio lib3ds.dsp files.
|
|
|
|
o Changed the usage text to reflect the name of osgreflect.
|
|
|
|
o Removed app and cull traversal calls from osgGLUT::Viewer::draw(),
|
|
|
|
since there are now handled by their own app() and cull() methods.
|
|
|
|
|
|
|
|
18th March 2001 - osg_src-20010318.tar.gz
|
|
|
|
|
|
|
|
o Implemented base class osg::Drawable from which osg::GeoSet is now
|
|
|
|
derived. osg::Geode now contains a list of osg::Drawables, and
|
|
|
|
osg::Registry and osg::Input have been extended to handle dynamic
|
|
|
|
exensions of osg::Drawable in file IO. Numerous files have been
|
|
|
|
modified to support the new structure, it is also likely to break
|
|
|
|
user code, look at the code with the plugins and demos to see how
|
|
|
|
adapt code to the new style. The changes are likely to be minimal -
|
|
|
|
for instance geode->addGeoSet(geoset) would change to
|
|
|
|
geode->addDrawable(geoset). Some .osg files no longer load due to
|
|
|
|
a bug introduced with the above changes - still investigating it,
|
|
|
|
likely to be just a typo somewhere...
|
|
|
|
o Renamed DCS -> Transform.
|
|
|
|
o Renamed Seg -> LineSegment.
|
|
|
|
|
|
|
|
15th March 2001 - osg_src-20010315.tar.gz
|
|
|
|
|
|
|
|
o Added osgUtil::SceneView::setAppVisitor(), getAppVisitor() and
|
|
|
|
app() to support user defined app traversal.
|
|
|
|
o Added support for the new SceneView::app() traversal into osgGLUT/Viewer
|
|
|
|
and cleaned up the app(),cull() and draw() methods.
|
|
|
|
o Added an AppVisitor to the Demos/osgreflect which rotates the loaded
|
|
|
|
model about its center point.
|
|
|
|
o Added a osg::NodeVisitor::reset() to be called prior to each traversal
|
|
|
|
to allow subclasses to flush internal set for each traversal.
|
|
|
|
|
|
|
|
14th March 2001 - osg_src-20010314.tar.gz
|
|
|
|
|
|
|
|
o Added reflection demo, which can be found in Demos/osgreflect.
|
|
|
|
o Made osg::Reference::_refCount mutable and the ref() & unref() const
|
|
|
|
methods, to faciliate the referencing of const objects.
|
|
|
|
o Added support for attaching osg::GeoState to internal nodes in the
|
|
|
|
scene graph. This enables subgraph's state to be overridden, which
|
|
|
|
enables several multipass techniques, such as planar reflections.
|
|
|
|
o Added src/osg/State.cpp to help manage pushing and popping of current
|
|
|
|
state. include/osg/State previously existed but was just a shell,
|
|
|
|
and has now been updated to provide funcitonal interface!
|
|
|
|
|
|
|
|
o Fixed a typo in VisualStudio/Demos/osgcube/osgcube.dsp which caused debug
|
|
|
|
build link time errors - a space was missing between two library names.
|
|
|
|
o Added osg::FrontFace state attribute class for managing the OpenGL
|
|
|
|
glFrontFace(,) on a per osg::GeoState basis.
|
|
|
|
Added files include/osg/FrontFace and src/osg/FrontFace.cpp and
|
|
|
|
modified include/osg/GeoState, src/osg/GeoState.cpp.
|
|
|
|
o Added osg::GeoState::merge(osg::GeoState* lhs,osg::GeoState* rhs)
|
|
|
|
method to osg::GeoState, for use in the new osgUtil::DrawBin.
|
|
|
|
o Updated comments in include/osgUtil/SmoothingVisitor, TriStripVisitor
|
|
|
|
and include/osg/Scene.
|
|
|
|
o Corrected header guards in DisplayListVisitor to be consistent with rest
|
|
|
|
of library, and updated comments.
|
|
|
|
o Update NEWS with small revisions.
|
|
|
|
o Fixed crash in NvTriStrip due to TriStripVisitor calculating the
|
|
|
|
number of vertices one to small, which resulted in memory errors.
|
|
|
|
|
|
|
|
6th March 2001 - osg_src-20010306.tar.gz
|
|
|
|
|
|
|
|
o Added new class osgUtil::CullVisitor and osgUtil::DrawBin which are
|
|
|
|
steps towards spliting up the osgUtil::RenderVisitor into its component
|
|
|
|
parts.
|
|
|
|
o Updated NvTriStripObject.cpp with patch from NVidia.
|
|
|
|
o Updated the NEWS information to allow automatic parsing of the file
|
|
|
|
for NEWS and headlines on the osg website implmented by Neil Salter.
|
|
|
|
o From Karsten Weiss - added comments and correct typo's in
|
|
|
|
include/osg/Scene and include/osg/Group
|
|
|
|
o Added osg::PolygonMode state attribute class for managing the OpenGL
|
|
|
|
glPolygonMode(,) on a per osg::GeoState basis.
|
|
|
|
Added files include/osg/PolygonMode and src/osg/PolygonMode.cpp and
|
|
|
|
modified include/osg/GeoState, src/osg/GeoState.cpp and
|
|
|
|
src/osgGLUT/Viewer.cpp to utilize the new class.
|
|
|
|
|
|
|
|
|
|
|
|
4th March 2001 - osg_src-20010304.tar.gz
|
|
|
|
|
|
|
|
o Changed osg::Scene and osg::DCS to use osg::ref_ptr<> instead of
|
|
|
|
directly managing dynamically memory.
|
|
|
|
o Fixed crash due memory errors in osgUtil::IntersectVistor.
|
|
|
|
o Updated NEWS with main items for ChangeLog dating back to the first
|
|
|
|
days of the ChangeLog.
|
|
|
|
o Changed the file extension checking methods in ReaderWriterOSG,
|
|
|
|
ReaderWriterRGB, ReaderWriterOSGTGZ, ReaderWriterTGZ, ReaderWriterZIP
|
|
|
|
to use use new function osg::equalCaseInsensitive(lhs,rhs).
|
|
|
|
o General purge of warnings in libs and plugins.
|
|
|
|
o From Neil Salter
|
|
|
|
- spelling corrections to include/osgGLUT/Viewer.
|
|
|
|
- updates to doc/Doxyfiles/*.
|
|
|
|
o Added extensions guard to src/Demos/hangglide/ReaderWriterFLY.cpp
|
|
|
|
which fixes the bug where the hangglide demo does can only read
|
|
|
|
.osg or .fly input files.
|
|
|
|
o Updated the index.html and doc/index.html with the OSG banner and
|
|
|
|
new text and various clean ups. Added doc/OpenSceneGraphBanner.jpg
|
|
|
|
o Fixes to get dev version below compiling under IRIX std and non std
|
|
|
|
compile options - FileNameUtils.cpp, Seg.cpp, NvTriStrip.cpp and
|
|
|
|
lib3ds/quat.cpp.
|
|
|
|
|
|
|
|
1st March 2001 - osg_src-20010301.tar.gz
|
|
|
|
|
|
|
|
o Macintosh port of osg from Bryan with mods for integration by Robert.
|
|
|
|
- Added Metrowerks make files.
|
|
|
|
- Added strdup defintion into src/osg/FileUtils.cpp to ensure compatiblity
|
|
|
|
under mac.
|
|
|
|
- Added #defined(macintosh) into include/osg/Types to define M_PI etc.
|
|
|
|
- Integrated changes to src/osg/DynamicLibrary.cpp for macintosh port.
|
|
|
|
- Integrated changes to src/osg/FileNameUtils.cpp for macintosh port.
|
|
|
|
- Integrated changes to src/osg/FileUtils.cpp for macintosh port.
|
|
|
|
- Integrated changes to src/osg/Registry.cpp for macintosh port.
|
|
|
|
- Integrated changes to src/osg/Texture.cpp for macintosh port.
|
|
|
|
- Integrated changes to src/osg/Timer.cpp for macintosh port.
|
|
|
|
- Integrated changes to src/osg/GLExtensions.cpp for macintosh port.
|
|
|
|
- Integrated changes to src/osgUtil/RenderVisitor.cpp for macintosh port.
|
|
|
|
- Integrated changes to src/osgUtil/IntersectVisitor.cpp for macintosh port.
|
|
|
|
- Integrated changes to include/osgGLUT/Viewer for macintosh port.
|
|
|
|
- Integrated changes to src/osgGLUT/Viewer.cpp for macintosh port.
|
|
|
|
- Integrated macintosh timmer support into include/osg/Timer
|
|
|
|
- Modified src/osg/Texture.cpp to take account of the new file
|
|
|
|
name type in osg::Image.
|
|
|
|
- Converted osg::Image::_fileName from char* to std::string to
|
|
|
|
avoid issues with portability due to strdup not being availble
|
|
|
|
on mac.
|
|
|
|
|
|
|
|
28th Faburary 2001 - osg_src-20010228.tar.gz
|
|
|
|
|
|
|
|
o Updated the osgUtil::TriStripVisitor to create seperate tri strips,
|
|
|
|
which fixes crashes which occured under Windows. Significant
|
|
|
|
speed up is can be achieved for many datasets by applying the
|
|
|
|
tri stripper. However, right now it can flip triangle orientation
|
|
|
|
which if back face culling is on may cause a model to apparantly
|
|
|
|
disapper... Turn off back face culling to see all surfaces. This
|
|
|
|
'feature' will be fixed to maintain surface orientation before and
|
|
|
|
after tri stripping.
|
|
|
|
|
|
|
|
24th Feburary 2001 - osg_src-20010224.tar.gz
|
|
|
|
|
|
|
|
o Modified osg::GeoSet to support sharing of the coord, normal, texture and
|
|
|
|
colour index list in both the .osg IO and the handling fast paths for
|
|
|
|
rendering.
|
|
|
|
o Added support for smoothing groups to 3ds plugin.
|
|
|
|
o Added support for beautify to unix makefiles and ran it on .cpp files.
|
|
|
|
o Added osgUtil::TriStripVisitor which use NvTriStrip to create
|
|
|
|
optimized triangular strips. Modified osgGLUT::Viewer to tri
|
|
|
|
strip when 'R' is pressed (for tRi strip). *Note* this is work in
|
|
|
|
progress and its is known to crash in certain circumstances.
|
|
|
|
o From Karsten Weiss - added comments to osg::Switch.
|
|
|
|
o Removed redundent src/Demos/hangglide/Trees.cpp.
|
|
|
|
o Added < operator to osg::Vec2,3 & 4.
|
|
|
|
o Changed the implementation of osgUtil::SmoothingVisitor to fix a bug
|
|
|
|
and to increase algorithm speed - now O(nlogn) rather than O(n^2).
|
|
|
|
|
|
|
|
17th Feburary 2001 - osg_src-0.8-38.tar.gz
|
|
|
|
|
|
|
|
o Added REPLACE to osg::TexEnv which supports the equivilant GL_REPLACE
|
|
|
|
texture environment mode.
|
|
|
|
o Fixed osg::GeoSet rendering bug which occurs when an coord index
|
|
|
|
list is mixed with normals (or colors) which are attached to the
|
|
|
|
geoset on a per vertex basis.
|
|
|
|
o Made appropriate osgUtil::RenderVisitor get methods const.
|
|
|
|
o Changed osg::Geode::getNumGeosets() to osg::Geode::getNumGeoSets() for
|
|
|
|
consistentcy and made it and several other osg::Geode methods const.
|
|
|
|
|
|
|
|
15th Feburary 2001 - osg_src-20010215.tar.gz
|
|
|
|
|
|
|
|
o Added beginings of a 3ds loader, based on lib3ds, can now load meshes
|
|
|
|
and textures.
|
|
|
|
o Added file search function osg::findFileInDirectory(..) which has
|
|
|
|
the option of doing case insensitve comparisons of names. Useful for
|
|
|
|
handling dos mixed case filenames under unix. 3ds files are particularily
|
|
|
|
prone to incorret case between filename in .3ds file and file on disk,
|
|
|
|
this method allows these problem filename to be handled gracefully
|
|
|
|
under unix. Also add osg::equalCaseInsensitive() which takes two
|
|
|
|
strings and compares them for equality ignoring case to support the
|
|
|
|
above osg::findFileInDirectory(..)
|
|
|
|
o Added new demo app - osgconv which takes loads specified files, and then
|
|
|
|
writes out the resultant model to a specified file.
|
|
|
|
o Updated version number in doc/Doxyfiles/Doxyfile_all, src/osg/Version.cpp
|
|
|
|
src/osgUtil/Version.cpp and src/osgGLUT/Version.cpp.
|
|
|
|
o Added include/osgGLUT into the TARGET_DIRS list in Make/makedefs.linux
|
|
|
|
and Make/makedefs.irix.nonstd & makedefs.irix.std
|
|
|
|
|
|
|
|
10th Feburary 2001 - osg_src-0.8-37.tar.gz
|
|
|
|
|
|
|
|
o Moved camera manipulator registration from osgGLUT::Viewer::constructor,
|
|
|
|
and setting of home in osgGLUT::Viewer::init() to happen in
|
|
|
|
osgGLUT::Viewer::run() and only when not other initialized. This allows
|
|
|
|
programs with use the the osgGLUT::Viewer class can set up there own
|
|
|
|
camera manipulators as in src/Demos/hangglide.
|
|
|
|
o Moved src/osgPlugins/fly to src/Demos/hangglide and created a simply
|
|
|
|
hang glider flight simulator.
|
|
|
|
o Added support for ARB and S3TC texture compression into osg::Texture and
|
|
|
|
methods to control the way that the internalFormat is used for OpenGL
|
|
|
|
textures.
|
|
|
|
o Updated version numbers in src/osg/Version.cpp, osgUtil/Version.cpp,
|
|
|
|
osgGLUT/Version.cpp and doc/Doxyfile.
|
|
|
|
o Removed src/osgPlugins/matrix.h&.cpp,vector.h&.cpp,oldtrees.cpp.
|
|
|
|
o From Karsten Wies - fix to src/osg/Switch.cpp to solve IO bug,
|
|
|
|
corrections to comments in include/osg/Registry.
|
|
|
|
o From Neil Salter - changes to support both doc++ and doxygen documention.
|
|
|
|
|
|
|
|
29th January 2001 - osg_src-20010129.tar.gz
|
|
|
|
|
|
|
|
o Moved src/Demos/cube to src/Demos/osgcube to remove install conflicts
|
|
|
|
under RH7, changed cube.cpp to osgcube.cpp, changed src/Demos/osgcube/Makefile
|
|
|
|
changed VisualStudio/VisualStudio.dsw and VisualStudio/Demos/cube etc..
|
|
|
|
o Removed two obsolete object files in src/osg/{ExtensionSupported.o,OSG.o}
|
|
|
|
o Removed vi swp file OpenSceneGraph-0.8/dist/.osg.spec.swp
|
|
|
|
o Fixed file permission of in doc/MindMap and doc/UML.
|
|
|
|
o Removed comma's at end of enumerator list in include/osg/GeoState
|
|
|
|
and src/osgPlugins/FaceRecord.h
|
|
|
|
|
|
|
|
28th January 2001 - osg_src-0.8-36.tar.gz
|
|
|
|
|
|
|
|
o Rewrote the implementation of osg::notify() once again to solve
|
|
|
|
a crash under Windows when an int is passed to the absorb stream.
|
|
|
|
Have moved the ofstream to a local static definition in osg::notify()
|
|
|
|
rather than a global in Notify.cpp. Note, the absorb stream is
|
|
|
|
now always set to "nul" or "/dev/null" under Windows and Unix
|
|
|
|
respectively, and can no longer be set to a user file.
|
|
|
|
o Did spell check on include/osg/Notify, Notify.cpp, FAQ.
|
|
|
|
o Added a couple of comments to src/osg/Billboard.cpp to explain
|
|
|
|
current incomplete implementation.
|
|
|
|
o Fixed minor warning in include/osg/mem_ptr.
|
|
|
|
o Updated src/osg/Version.cpp, src/osgUtil/Version.cpp & src/osgGLUT/Version.cpp
|
|
|
|
to version 0.8.36.
|
|
|
|
|
|
|
|
25th January 2001 - osg_src-0.8-35.tar.gz
|
|
|
|
|
|
|
|
o Added basic comments to osgUtil::GUIActionAdapter explain a little of
|
|
|
|
how it might be used in.
|
|
|
|
o Added reading from .osg files of the "Axis x y z" for osg::Billboard,
|
|
|
|
previously osg::Billboard::readLocalData ignored the Axis paramter
|
|
|
|
even though it was saved.
|
|
|
|
o From Karsten Weiss :
|
|
|
|
- Spelling corrections to comments in include/osg/Object & Node.
|
|
|
|
- Extra comments to include/osg/Matrix.
|
|
|
|
o Fixed bug in osg::Image::ensureDimensionsArePowerOfTwo() where
|
|
|
|
message was being written out without guarding against the
|
|
|
|
image name being NULL.
|
|
|
|
o Fixed the osg::notify() messaging function under Windows, with
|
|
|
|
same functionality that has exisited under unix - allowing users
|
|
|
|
to absorb messages, send them to cerr, cout or to a nominated file,
|
|
|
|
controlled via environmental variables, or set functions with the
|
|
|
|
application.
|
|
|
|
o Went through all include/osg header files removing redundent
|
|
|
|
includes to minimize compile time. Removed include's
|
|
|
|
of glu.h and glx.h in the include/osg/GL header file as these
|
|
|
|
are only required in specific cases.
|
|
|
|
o Removed UnrefOp functor from inclide/osg/Referenced and changed
|
|
|
|
all dependent files to use osg::ref_ptr<> instead for handling memory.
|
|
|
|
o From Don Burns :
|
|
|
|
-code for smoothing normals on osg::GeoSet's, integrated code
|
|
|
|
into osgUtil::SmoothingVisitor (RO)
|
|
|
|
-Bug fix for for_each_triangle() to ensure that
|
|
|
|
orientation of triangles is correct.
|
|
|
|
o Added new osg::mem_ptr template class (include/osg/mem_ptr) for
|
|
|
|
refence counting with data which does not internally support
|
|
|
|
ref/unref themselves (as required my ref_ptr and supplied normally
|
|
|
|
by deriving form osg::Referenced) instead delagating the
|
|
|
|
responisbility of reference counting and deleting unreferenced
|
|
|
|
memory to an associated osg::MemoryAdapter.
|
|
|
|
o Moved osg::ref_ptr from include/osg/Referenced into its own
|
|
|
|
header file include/osg/ref_ptr. Cleaned up numerous files
|
|
|
|
to include the new header file.
|
|
|
|
o Moved osg::MemoryAdapter from osg::Node into its own file,
|
|
|
|
include/osg/MemoryAdapter, and moved osg::ReaderWriter from
|
|
|
|
osg::Registry into its own file include/osg/ReaderWriter.
|
|
|
|
o Clean up most warnings associated with the new -W -Wall pedantic
|
|
|
|
warnings option.
|
|
|
|
o Rename include/osg/OSG to FileUtils to reflect its now less central
|
|
|
|
role in the OSG scene graph, renamed osg::FindFile osg::findFile,
|
|
|
|
osg::SetFilePath to osg::setFilePath, added osg::getFilePath() and
|
|
|
|
add osg::getDirectoryContents. Removed most references to the
|
|
|
|
old include/osg/OSG as they wern't required! Renamed the references
|
|
|
|
which were required.
|
|
|
|
o Renamed osgUtil::GUIActionAdapter::needRedraw() to requestRedraw(),
|
|
|
|
needContinuousUpdate() to requestContinuousUpdate() and
|
|
|
|
needWarpPointer to requestWarpPointer. Removed the redundent bool
|
|
|
|
paramter from requestRedraw. Updated Trackball, Drive and Flight
|
|
|
|
manipulators and osgGLUT to reflect new names.
|
|
|
|
Changed the default drive mode so it uses left and right mouse
|
|
|
|
buttons for speed control instead of using the mouse y position.
|
|
|
|
Both are still availble via original 'A' and 'Q' keybindings.
|
|
|
|
o Moved contents of README to INSTALL, and made README a bare bones
|
|
|
|
readme. Updated index.html to link to both.
|
|
|
|
o Moved include/osg/ExtensionSupported to include/osg/GLExtensions.
|
|
|
|
Renamed osg::ExtensionSupported to osg::isGLExtensionSupported,
|
|
|
|
reimplemented osg::isGLExtensionSupported to use std::set's for
|
|
|
|
increased speed. Added osg::getGLExtensionFuncPtr() as a cross
|
|
|
|
platform way to get OpenGL extension functions. Updated Point.cpp
|
|
|
|
and Texture.cpp to use the new methods and clean up the support
|
|
|
|
for OpenGL extensions. Cleaned up include/OSG/GL.
|
|
|
|
o From Axel Volley:
|
|
|
|
Added support for OBJECT_LINEAR and EYE_LINEAR TexGen modes,
|
|
|
|
Added support for the Anistropic texture filter extension to
|
|
|
|
Texture.cpp.
|
|
|
|
o Moved the information about plugin dependancies from README to index.html
|
|
|
|
and made the links to the appropriate web sites. Added links for data
|
|
|
|
sources.
|
|
|
|
o Updated the FAQ in to reflect progress to beta and new documetation details.
|
|
|
|
o Moved the createNodeFromImage functionality from the image readers
|
|
|
|
into osg::Registry::readNode(), removing readers readNode() functions.
|
|
|
|
Added osg::Registry::setCreateNodeFromImage(bool flag) and equivilant
|
|
|
|
get function to support the switching on and off of this functionality.
|
|
|
|
This is then is by the new archieve functionality.
|
2001-01-11 00:32:10 +08:00
|
|
|
o Added src/osgPlugins/tgz for general tarball models.
|
|
|
|
o Added src/osgPlugins/zip for general zipped models.
|
|
|
|
o From Don, src/osgPlugins/osgtgz for a osg tarball models.
|
|
|
|
dist/Irix for creating IRIX binary distributions.
|
|
|
|
o Removed redundent NSPlugin and src/Viewer directorties.
|
|
|
|
o Fixed compilation error in src/osgPlugin/flt under IRIX
|
|
|
|
related to flt::Record::Record(const Record&):Referenced() {}.
|
|
|
|
|
|
|
|
|
|
|
|
6th December 2000 - osg_src-0.8-34.tar.gz
|
|
|
|
|
|
|
|
o To bring the main branch inline with the autoconf branch, and inline
|
|
|
|
with standard open source conventions, have made the following changes.
|
|
|
|
|
|
|
|
- Copied and doc/index.html to index.html and modified to ref. README
|
|
|
|
file and new relative paths of the documention.
|
|
|
|
- Added AUTHORS file.
|
|
|
|
- Rename and moved doc/CHANGES.txt to ChangeLog,
|
|
|
|
doc/TODO.txt to TODO,
|
|
|
|
doc/FAQ.txt to FAQ,
|
|
|
|
LICENSE to COPYING.
|
|
|
|
README.txt to README.
|
|
|
|
|
|
|
|
Note, removing the .txt from files means that Windows won't be able to
|
|
|
|
pick up on the file type automatically. However, they didn't have the
|
|
|
|
Win32 style end of line conventions so they still wern't much use. By
|
|
|
|
adding the index.html to the root directory this now allows Win32 users
|
|
|
|
to browse the relevant files via Netscape or IE which can handle the
|
|
|
|
unix style text files. I felt this was the best compromise.
|
|
|
|
|
|
|
|
o Added notify messages to osg::Registry::read/writeOject/Node/Image()
|
|
|
|
for when a plugin for a file extensions hasn't been found and for
|
|
|
|
when a file hasn't been successfully read.
|
|
|
|
o Added Axel Volley's UML diagrams to doc/UML.
|
|
|
|
o Added mind maps on DesignPatterns and MissionState to doc/MindMaps.
|
|
|
|
o Added new library command line options (see below) into src/Demos/sgv.
|
|
|
|
o Integrated Graeme Harkness's reworking of src/Viewer into src/osgGLUT
|
|
|
|
and Demos/sgv. Added Graeme's new Demos/cube which provides a simple
|
|
|
|
demonstration of animation.
|
|
|
|
o Added ReaderWriterPFB::readImage() to enable the loading of .pfu images
|
|
|
|
into the osg, even if .pfb arn't used. Note, you'll need to run the
|
|
|
|
viewer something like 'sgv -e pfb datfile.osg.
|
|
|
|
o Added pfMultiprocess(0) to ReaderWriterPFB.cpp.
|
|
|
|
o Added -W predatic warning option to compilation under Linux, and cleaned
|
|
|
|
up the headers and source in response.
|
|
|
|
o Added osg::Image::ensureDimensionsArePowerOfTwo() and a call
|
|
|
|
to it from osg::Texture::apply() when mip mapped textures are required.
|
|
|
|
Added packing aligment value to osg::Image, defaulting to 4 if the
|
|
|
|
image width is a factor of 4, otherwise defaulting to 1.
|
|
|
|
osg::Texture::apply() now used this osg::Image::_packing value to set
|
|
|
|
glPixelStorei();
|
|
|
|
o Added sgv usage help to Viewer.cpp. Running 'sgv' will now report
|
|
|
|
the command line options for sgv. Outputs the following :
|
|
|
|
|
|
|
|
usage:
|
|
|
|
sgv [options] infile1 [infile2 ...]
|
|
|
|
|
|
|
|
options:
|
|
|
|
-l libraryName - load plugin of name libraryName
|
|
|
|
i.e. -l osgdb_pfb
|
|
|
|
Useful for loading reader/writers which can load
|
|
|
|
other file formats in addition to its extension.
|
|
|
|
-e extensionName - load reader/wrter plugin for file extension
|
|
|
|
i.e. -e pfb
|
|
|
|
Useful short hand for specifying full library name as
|
|
|
|
done with -l above, as it automatically expands to the
|
|
|
|
full library name appropriate for each platform.
|
|
|
|
|
|
|
|
o Added command line options -l and -e to Viewer.cpp to assist usage
|
|
|
|
of plugins which can load more than indicated by their standard
|
|
|
|
file extension type. See above for details. For instance pfb plugin
|
|
|
|
can load *many* file formats.
|
|
|
|
Try 'sgv -e pfb /usr/share/Performer/data/teapot.dxf'.
|
|
|
|
o From Ben Discoe, added osg::Matrix::setTrans() and getTrans().
|
|
|
|
o Moved src/pfPlugin to src/osgPlugins/pfb and added code to enable
|
|
|
|
the plugin to work with the osg as a plugin in addition to it
|
|
|
|
previous functionality as a Performer plugin. Creating a link
|
|
|
|
from lib/osgPlugins/osgdb_pfb.so to lib/libpfosg.so
|
|
|
|
should be sufficient from Performer to pick up on the library.
|
|
|
|
Added support for copying image data across from pfTexture to
|
|
|
|
osg::Image texture and handling of pfMaterial::getColorMode().
|
|
|
|
Added to src/osgPlugins/pfbREADEME.txt to documentation some
|
|
|
|
of the features and issues of the Performer plugin.
|
|
|
|
o Fixed bug in osg::GeoState related to loading and saving of the
|
|
|
|
new alpha_test paramter, which wasn't initialised in the osg::GeoState
|
|
|
|
constructor.
|
|
|
|
|
|
|
|
|
|
|
|
22nd December 2000 - osg_src-0.8-33.tar.gz
|
|
|
|
|
|
|
|
o Integated Brede Johansen's update to flt loader.
|
|
|
|
o Added function osg::getLowerCaseFileExtension() to osg/FileNameUtils,
|
|
|
|
modifed osg::Registry::createLibraryNameForFile() and
|
|
|
|
osg::ReaderWriterRGB::readImage() to use this function for correctly
|
|
|
|
recognising upper case extensions as equivilant to their lower case
|
|
|
|
counterpart, i.e. .RGB should be interepreted as .rgb.
|
|
|
|
o Fixed intersection bug which occured of osg:GeoSet's containing
|
|
|
|
osg::GeoSet::TRIANGLES primitive bug. Bug was due to compilers
|
|
|
|
incorrectly optimizing a templated function & functor, fixed
|
|
|
|
by small reordering of the code, works perflectly now?!
|
|
|
|
o Updated the README.txt with info on the dependancies of the new plugins.
|
|
|
|
o Created VisualC++ project files for gif,jpeg,tga,tiff image loaders.
|
|
|
|
o Commented out disabling of depth testing for transparent bin as it
|
|
|
|
was causing visual artifacts on several models.
|
|
|
|
|
|
|
|
21st Decemeber 2000 - osg_src-20001221.tar.gz
|
|
|
|
|
|
|
|
o Added an osg::createGeodeForImage(Image* image) method in osg/Image
|
|
|
|
to create a geometry node around a image so that it can visualised
|
|
|
|
within the scene without having to create all the required Geode,
|
|
|
|
GeoSet, GeoState and Texture classes. Added a call to above from
|
|
|
|
each of the image loaders so that images themselves can be loaded
|
|
|
|
into sgv... Thereby making sgv an 3D image viewer!
|
|
|
|
o From Don, added facility in osg::Texture so that if
|
|
|
|
_min_filter == LINEAR || _min_filter == NEAREST then
|
|
|
|
create a glTexImate2D, otherwise create a gluBuild2DMipmaps texture.
|
|
|
|
o From Don, added code to display able depth testing of the transparent
|
|
|
|
bin in the osgUtil::RenderVisitor:render() method.
|
|
|
|
|
|
|
|
20th Decemeber 2000 - osg_src-20001220.tar.gz
|
|
|
|
|
|
|
|
o Incorportated the following image loaders from the simage library.
|
|
|
|
src/osgPlugins/gif
|
|
|
|
/jpeg
|
|
|
|
/pic
|
|
|
|
/tga
|
|
|
|
/tiff
|
|
|
|
Note, have only written unix makefile's so far, VisualStudio files need
|
|
|
|
to be written before the next release.
|
|
|
|
o Changed osgGetVersion() and osgUtilGetVersion() so that they
|
|
|
|
return const char* instead of the original float.
|
|
|
|
o added osg::GeoSet::s/getUseDisplayList(),dirtyDisplayList() and
|
|
|
|
virtual method drawImmediateMode() which draws primitive without
|
|
|
|
ever calling or creating a display list. The draw() has been
|
|
|
|
changed to handle the new _useDisplayList flag so that it
|
|
|
|
automatically creates a display list if the flag is true and
|
|
|
|
uses the display list on further calls to draw(). draw() is nolonger
|
|
|
|
a virtual method and therfore should *not* be overriden,
|
|
|
|
drawImmediateMode() is now the method to override. This allows
|
|
|
|
subclasses of osg::GeoSet to automatically take advantage of display
|
|
|
|
lists.
|
|
|
|
o From Brede, added option to osgUtil::SceneView to enable the automatic
|
|
|
|
calculate of near and far planes on each frame to be switched on/off.
|
|
|
|
o From Kartsen, spelling fixes to comments in Switch and GeoSet.
|
|
|
|
|
|
|
|
|
|
|
|
18th December 2000 - osg_src_20001218.tar.gz
|
|
|
|
|
|
|
|
o Changed the directory structure in preperation for autoconf
|
|
|
|
integration.
|
|
|
|
o Converted pf2osg and osg2pf into a libpfosg.so plugin for Performer,
|
|
|
|
instead of stand alone conversion programs, new pffb plugin can be
|
|
|
|
found in src/pfPlugin.
|
|
|
|
o Changed the osg::Material default _colorMode to OFF, and
|
|
|
|
the global material _colorMode default to AMBIENT_AND_DIFFUSE.
|
|
|
|
o Added read/write support for interleaved arrays into osg::GeoSet.
|
|
|
|
|
|
|
|
16th December 2000 - osg_src_20001216.tar.gz
|
|
|
|
|
|
|
|
o Added osg::AlphaFunc state object.
|
|
|
|
o Added support for osg::AlphaFunc into osg::GeoState.
|
|
|
|
o Added support for osg::AlphaFunc into flight_park.fly.
|
|
|
|
o Changed osg::Material::apply() so only required glMaterial's are
|
|
|
|
called.
|
|
|
|
o Integrated Don's work on adding glVertexArrays etc to osg::GeoSet.
|
|
|
|
|
|
|
|
12th December 2000 - osg_src-20001212.tar.gz
|
|
|
|
|
|
|
|
o Integrated Karsten's standardisation of the library header guards.
|
|
|
|
o Added osg::LightSource node.
|
|
|
|
o Added get methods to osg::Light.
|
|
|
|
o Modified osgUtil::RenderVisitor is track osg::LightSource nodes.
|
|
|
|
o Modified osgUtil::SceneView so that it can handle headlight,
|
|
|
|
sky light, and no scene view lights for the extra lights it
|
|
|
|
adds to the scene for viewing. In the later mode only osg::LightSource's
|
|
|
|
will light the scene.
|
|
|
|
o Modified Viewer.cpp so that it toggles between the above scene view
|
|
|
|
lighting modes above using the 'L' key.
|
|
|
|
o Changed osg::Geode and osg::Group to rely upon ref_ptr<> for memory
|
|
|
|
management rather the previous mode which required explicit ref and
|
|
|
|
and unref statements.
|
|
|
|
o Made osg::GeoSet::draw() and osg::GeoSet::getBound() virtual functions
|
|
|
|
to allow user-drawn objects. A short term fix only.
|
|
|
|
|
|
|
|
|
|
|
|
8th December 2000 - osg_src-0.8-32.tar.gz
|
|
|
|
|
|
|
|
o Added osg::Node::s/getNodeMask() as a fore runner to full implementation
|
|
|
|
of TraversalMasks.
|
|
|
|
o Added osg::loadNodeFile(),osg::loadImageFile() and osg::loadObjectFile()
|
|
|
|
to osg/Registry header, as convienince functions for loading data.
|
|
|
|
o Added osg::Camera::s/getFieldOfView() methods and split up the
|
|
|
|
draw method into draw_PROJECTION() and draw_MODELVIEW() methods.
|
|
|
|
Converted osg::SceneView is use these methods instead own gl calls.
|
|
|
|
o Added osg::Timer class for high resolution, low overhead time stamping,
|
|
|
|
converted sgv to use it. Timer class based on Don's real time frame
|
|
|
|
scheduling library.
|
|
|
|
o Added extension guards to .rgb reader/writer to prevent it from trying
|
|
|
|
to load non rgb models. Accepted extensions are rgb,rgba,int,inta & bw.
|
|
|
|
o Added osg::Node::setUserData(void*,MemoryAdapter*), osg::Node::getUserData()
|
|
|
|
and osg::Node::getMemoryAdapter() and osg::MemoryAdapter to support user data.
|
|
|
|
o Added png image file format loader.
|
|
|
|
o From Ben Discoe:
|
|
|
|
- updated LOD to use distance squared for evaluating child usage to
|
|
|
|
remove need to computing sqrt.
|
|
|
|
- png to osg::Image conversion code.
|
|
|
|
o From Kartsen Weiss, fixes and improvents to sgv help message.
|
|
|
|
o From Brede Johansen:
|
|
|
|
- added osg::Node::setName( const char* name )to get round a crash
|
|
|
|
under Windows, caused by a VisualC++ bug, which occurs under to
|
|
|
|
multiple assignment of C style string to C++ strings.
|
|
|
|
- bug fix for .rgb plug-in to solve problems with some textures
|
|
|
|
with alpha values. The water tower, fences and fences now render
|
|
|
|
properly in Performer Town!
|
|
|
|
o Added osgUtil::SceneView::set/getBackgroundColor() for setting the
|
|
|
|
background colour used by glClearColor().
|
|
|
|
o Added osgUtil::SceneView::projectWindowIntoObject(),
|
|
|
|
projectWindowXYIntoObject() and projectObjectIntoWindow() to
|
|
|
|
assist converting to and from window coordinates and object
|
|
|
|
coordinates.
|
|
|
|
o Added osg::Image* osg::Texture::getImage() to osg::Texure and
|
|
|
|
converted it to use ref_ptr<Image> for handling the image memory.
|
|
|
|
Added osg::Texture::getFilter() && getWrap() and seperated out
|
|
|
|
enum TextureMode into enum WrapParameter & WrapMode, and
|
|
|
|
FilterParameter & FilterMode.
|
|
|
|
o Converted osg::GeoSet to use ref_ptr<GeoState> for handling the
|
|
|
|
geostate memory.
|
|
|
|
|
|
|
|
2nd December 2000 - osg_src-0.8-31.tar.gz
|
|
|
|
|
|
|
|
o Added osgUtil::SceneView to encapsulate the details required to
|
|
|
|
render a view of a scene - the scene data, light, global geostate,
|
|
|
|
camera and rendervisitor.
|
|
|
|
o Cleaned up Viewer/Viewer.h & .cpp to use the new osgUtil::SceneView.
|
|
|
|
o Integated Brede Johansen's update to flt loader.
|
|
|
|
o Added .txt extension to README,CHANGES,TODO and FAQ to aid reading
|
|
|
|
of files under Windows.
|
|
|
|
o Added osg/Version and osgUtil/Version which provide
|
|
|
|
external C functions for getting library name and version.
|
|
|
|
Also can be used by autoconf to check for existance of the
|
|
|
|
osg and osgUtil libraries.
|
|
|
|
o Implemented missing osg::Camera::home();
|
|
|
|
o Fixed bug in osg::Material::apply() where no texture would
|
|
|
|
be appear on surfaces on the first frame. glBindTexture was not
|
|
|
|
being called with the correct parameter on creation of the OpenGL
|
|
|
|
texture.
|
|
|
|
o Removed redundent glEnable(GL_LIGHTING) from Viewer.cpp.
|
|
|
|
o Changed the osg::Light::setDirection(Vec4&) to setDirection(Vec3&).
|
|
|
|
o From Karsten Weiss :
|
|
|
|
Comments added to osg::Light and osg::RenderVisitor.
|
|
|
|
Fixes to make install parts of osg/src/Makefile.
|
|
|
|
|
|
|
|
|
|
|
|
28th November 2000 - osg_src-0.8-30.tar.gz
|
|
|
|
|
|
|
|
o Added osg::Object::isSameKindAs(Object* obj) to aid object type
|
|
|
|
comparions. This allowed osg::Object::readClone(Input& fr) to
|
|
|
|
be extended to automatically detect 'Use ObjectID' syntax in .osg files,
|
|
|
|
which fixes errors in reading .osg files saved from some data models
|
|
|
|
created correctly by the flt loader.
|
|
|
|
o Integated Brede Johansen's update to flt to handle transparency.
|
|
|
|
o Commented out the flt::Registry::instance()->removedPrototype() call from RegisterRecordProxy()
|
|
|
|
flt::RegisterRecordProxy destructor, which was causing a segmentation
|
|
|
|
fault on exit under Linux due to destruction ordering - gnu c++ doesn't
|
|
|
|
seem to honour construction/destruction order?! Prior to this 'fix',
|
|
|
|
did the following changes to clean up memory allocation &
|
|
|
|
deallocation as an attempt to fix the segmentation fault on exit!
|
|
|
|
Changed the memory allocation of RegisterRecordProxy children to use
|
|
|
|
osg::ref_ptr<> for automatic deallocation. Removed the flt::Record::_init(),
|
|
|
|
_copy() and _free() moving the functionality into the constructor and
|
|
|
|
destructor to simplify. flt::Record copy operator and copy constructor
|
|
|
|
made private to prevent misuse.
|
|
|
|
o Rewrote osg::Material so that it handles both FRONT and BACK
|
|
|
|
face materials within one class, with support for FRONT_AND_BACK.
|
|
|
|
o Added two sided lighting toggle to Viewer and NSPlugin.
|
|
|
|
o Changed the LODBias in Viewer and NSPlugin to 1.0 (previously 2.0).
|
|
|
|
o Added '#define GL_GLEXT_LEGACY 1' to osg/GL to fix compilation problems
|
|
|
|
which occur on some implementation of OpenGL under Linux.
|
|
|
|
|
|
|
|
18th Novemeber 2000 - osg_src-0.8-29.tar.gz
|
|
|
|
|
|
|
|
o Integrated Don Burns' Linux Netscape plug-in.
|
|
|
|
o Added osg::PolygonOffset state attribute.
|
|
|
|
o Added support for osg::Point and osg::PolygonOffset into osg::GeoState.
|
|
|
|
o Extended osg::CullFace to encompass which face to cull, i.e
|
|
|
|
FRONT,BACK or FRONT_AND_BACK, and added IO support.
|
|
|
|
o Added read/write ascii to osg::Point and osg::PolygonOffset
|
|
|
|
o From Don, moved light source from above model, to behind eye point
|
|
|
|
for sgv and the Netscape plug-in.
|
|
|
|
o Fixed material inheritance bug, by modifing osg::GeoState so that
|
|
|
|
it now inherits attributes from the global state if they are not
|
|
|
|
set locally.
|
|
|
|
o From Brede Johansen, bug fixes in flt loader, setting of externals
|
|
|
|
and redudent 'dummy' groups in LOD's.
|
|
|
|
o Changed the default compilation of loaders so that pf2osg and osg2pf
|
|
|
|
are not compiled by default under Linux or IRIX, ideally the presence
|
|
|
|
of Performer should be detected automatically and compilation set
|
|
|
|
accordingly, however this may have to wait for autoconf work.
|
|
|
|
o Fixed warnings generated by gcc-2.96 in flt,fly,pf2osg and Viewer.
|
|
|
|
o Changed 'const int' and 'const bool' returns type in Loaders/flt to
|
|
|
|
'int' and 'bool' respectively. This fixed silly warnings under IRIX.
|
|
|
|
o In Loaders/flt changed all cout, cerr and printf's to osg::notify().
|
|
|
|
o From Karsten Weiss :
|
|
|
|
- Updated OSG_ROOT/README to account for sh shells & added contact details.
|
|
|
|
- Changed variable 'or' to 'ori' in Loaders/fly/base.cpp to enable compilator
|
|
|
|
under later versions of gnu c++.
|
|
|
|
- Comments added to BoundingBox, Lighting, CullFace and Quat.
|
|
|
|
- BoundingBox::contains() bug fixed.
|
|
|
|
- Changes to remove warnings generated in Loader/flt with gcc-2.96.
|
|
|
|
o Updated FAQ.
|
|
|
|
o Updated OSG_ROOT/README with contact details.
|
|
|
|
o Changed osg::Registry and flt::Registry to use ref_ptr<> to automatically
|
|
|
|
handle attached prototypes memory usage.
|
|
|
|
o Removed flt/Referenced.h and replaced flt::Referenced with osg::Referenced.
|
|
|
|
o Removed vnf loader is it was only a to help import a single file from
|
|
|
|
an now out of date format, its existance was clogging up the distribution.
|
|
|
|
|
|
|
|
10th November 2000 - osg_src-0.8-28.tar.gz
|
|
|
|
|
|
|
|
o Added Brede Johansen .flt loader.
|
|
|
|
o Integrated Neil Salter's new implementation of osg::notify() which
|
|
|
|
uses a NotifyInit class with a 'nifty' counter to ensure construction.
|
|
|
|
o Changed osg::TexEnv,TexMat,Fog,Point,Transparency & Material so that
|
|
|
|
they area all derived from osg::Object. All state components are
|
|
|
|
now derived from osg::Object.
|
|
|
|
o Changed osg::GeoState::setAttribute(..) and getAttribute() methods
|
|
|
|
so that they deal with osg::Object's rather than void*.
|
|
|
|
o Changed osg::GeoState so that it uses ref_ptr<> to automatically
|
|
|
|
manage attribute memory whilst supporting attribute sharing.
|
|
|
|
o Added to osg::ref_ptr<> extra operators =,==,!= & a valid() method.
|
|
|
|
o Added osg::Point which enables control of OpenGL point size.
|
|
|
|
o Added osg::ExtensionSupported which allows the querring of
|
|
|
|
support for OpenGL extensions.
|
|
|
|
o Changed the default global lighting mode to ON in sgv.
|
|
|
|
o Changed the toggling bahviour in sgv between lighting and texture
|
|
|
|
ON and OFF, new behaviour should be more consistent.
|
|
|
|
|
|
|
|
6th November 2000 - osg_src-0.8-27.tar.gz
|
|
|
|
|
|
|
|
o Added option in osgUtil::FlightManipulator for automatically yawing
|
|
|
|
the camera into the bank, and made it the default operation.
|
|
|
|
o Changed the implementation of osg::notify() to default to simply
|
|
|
|
cout for all platforms, rather than just Windows. This is a
|
|
|
|
temporary measure to fix the crashes under IRIX and Linux.
|
|
|
|
Work is underway to provide a robust implementation of osg::notify().
|
|
|
|
o Added Neil Salter's Doxyfile makefile to docs/ for generating Doxygen
|
|
|
|
documetation.
|
|
|
|
o Changed the #define's in include/osg/Transparency to enumerated
|
|
|
|
types and removed the SGTRANSPARENCY_ prefix as its now within
|
|
|
|
the scope of the Transparency class itself.
|
|
|
|
o Changed the #define's in include/osg/TexEnv to enumerated
|
|
|
|
types and removed the SGTEXENV_MODE_ prefix as its now within
|
|
|
|
the scope of the TexEnv class itself.
|
|
|
|
o Changed the #define's in include/osg/TexGen to enumerated
|
|
|
|
types and removed the SGTEXGEN_ prefix as its now within
|
|
|
|
the scope of the TexGen class itself.
|
|
|
|
o Changed the #define's in include/osg/Material to enumerated
|
|
|
|
types and removed the SGMAT_ prefix as its now within
|
|
|
|
the scope of the Material class itself.
|
|
|
|
o Changed the #define's in include/osg/Fog to enumerated
|
|
|
|
types and removed the FOG_ prefix as its now within
|
|
|
|
the scope of the Fog class itself.
|
|
|
|
o Changed the #define MIN_CACHE_SIZE in include/osg/Field to enumerated
|
|
|
|
type, therefore keeping it within the Field's scope.
|
|
|
|
o Changed the #define MINIMUM_FIELD_READER_QUEUE_SIZE in include/osg/
|
|
|
|
FieldReaderIteraor to enumerated type, therefore keeping it within
|
|
|
|
the FieldReaderIterator's scope.
|
|
|
|
|
|
|
|
3rd November 2000 - osg_src-0.8-26.tar.gz
|
|
|
|
|
|
|
|
o Removed the GSET_ prefix from the osg::GeoSet enumerated types as
|
|
|
|
its no longer required, since the enumerated types are within the
|
|
|
|
osg::GeoSet's scope.
|
|
|
|
o Added osg::notify() function for redirecting messages either to
|
|
|
|
stdout or stderr (cout or cerr) or /usr/tmp/osg.info, depending upon
|
|
|
|
the severity level set. The environmental variable OSGNOTIFYLEVEL can
|
|
|
|
be set to overide the default level which is osg::NOTICE.
|
|
|
|
See include/osg/Notify for more details of the levels available.
|
|
|
|
Current implementation only works under Linux and IRIX, under Windows
|
|
|
|
the output is simply directed to cout.
|
|
|
|
o In osgUtil::DriveManipulator added the option to use the mouse y poistion
|
|
|
|
to govern the speed in addition to the previous left button to speed up,
|
|
|
|
right button to slow down/reverse. The two modes can be toggled by pressing
|
|
|
|
'q' and 'a' respectively. Default is using the mouse y position for speed.
|
|
|
|
o Changed osgUtil::TrackballManipulator so that it supports proper
|
|
|
|
trackball style manipulation.
|
|
|
|
o Added a zoom limit to the osgUtil::TrackballManipulator to prevent
|
|
|
|
the user from zooming into a point. Under this limit the zoom
|
|
|
|
operation nolonger zooms in but pushes the eye and look points
|
|
|
|
forward down the look vector, keeping the distance constant.
|
|
|
|
o Added osg::Camera::getLookVector() and osg::Camera::getFocalDistance()
|
|
|
|
methods.
|
|
|
|
o Added osgUtil::DriveManipulator.
|
|
|
|
o Renamed osgUtil::GUIUpdateState to osgUtill::GUIActionAdapter
|
|
|
|
and moved it to its own file.
|
|
|
|
o Fixed bug in osgUtil::IntersectVisitor related to reference counting
|
|
|
|
and NULL object.
|
|
|
|
o Added osgUtil::FlightManipulator.
|
|
|
|
o Modified sgv to enable support for multiple camera manipulators.
|
|
|
|
o Added resize event and window min and max to osgUtil::GUIEventAdapter.
|
|
|
|
o Added resize event and window min and max to GLUTEventAdapter.
|
|
|
|
|
|
|
|
27th October 2000 - osg_src-0.8-25.tar.gz
|
|
|
|
|
|
|
|
o Added support for string descriptions to be added to osg::Node's,
|
|
|
|
which can be saved and loaded via .osg data file.
|
|
|
|
o Fixed bugs in osg::FieldReaderIterator & osg::GeoSet related to the
|
|
|
|
osg::FieldReaderIterator::matchSequence() method, detected when
|
|
|
|
implementing string descripters IO.
|
|
|
|
o Modified osg::Light so its derives from osg::Object.
|
|
|
|
o Added osg::Matrix::preScale(),postScale() methods.
|
|
|
|
o Added methods to osgUtil::CameraManipulator.
|
|
|
|
o Added osgUtil::GUIEventAdapter::time() to log the time of an event.
|
|
|
|
o Rewrote osgUtil::GUIUpdateState so it now based on virtual functions.
|
|
|
|
o Implementated trackball functionality in osgUtil::TrackballManipulator.
|
|
|
|
o Ported sgv over to use new osgUtil::CameraManipulator rather than
|
|
|
|
old trackball functionality, removed original trackball code.
|
|
|
|
o Changed the frame delay in sgv to default to off, pressing '-'
|
|
|
|
turns the frame delay on, then successively slow sgv down, pressing
|
|
|
|
'+' reduces the frame delay again until it turns off as before.
|
|
|
|
o Added matrix multiplication methods into osg::Camera, and added
|
|
|
|
method for calculating the side vector of the camera.
|
|
|
|
o Added methods to osgUtil::CameraManipulator to extend the
|
|
|
|
functionality which can be exposed to users of a generic camera
|
|
|
|
maniupluator.
|
|
|
|
o Added osgUtil::RenderVisitor::setLookAt(const Camera&) method
|
|
|
|
to make it convinient to use camera's with the render visitor.
|
|
|
|
o From Don, added Unix Makefile support for make install, instlinks,
|
|
|
|
home and automatic detection of OS type. Changed target lib directory
|
|
|
|
for loader plug-in to lib/OSGLoaders.
|
|
|
|
o Added /usr/lib{32}/OSGLoaders DSO search path for and to prepend
|
|
|
|
file name with "OSGLoaders/" if the standard search fails.
|
|
|
|
o Renamed osgUtil::GUIEventAdaptor to osgUtil::GUIEventAdapter.
|
|
|
|
o Renamed osg::RP<> to osg::ref_ptr<> to make it clearer its
|
|
|
|
usage and to be more consistent with STL's auto_ptr<>.
|
|
|
|
o Added osgUtil::CompileGeoSetsVisitor, original existed in sgv.
|
|
|
|
o Changed the osg::GeoSet::compile() method so that it calls
|
|
|
|
the GeoSet's GeoState apply method before creating the
|
|
|
|
OpenGL Display List. Note, the state is still NOT compiled
|
|
|
|
into the Display List. This improves performance significantly
|
|
|
|
when running the program remotely.
|
|
|
|
o Cleaned up the methods in osgUtil::CameraManipulator.
|
|
|
|
o Added support for returning intersection normals from
|
|
|
|
osgUtil::IntersectVisitor.
|
|
|
|
|
|
|
|
20th October 2000 - osg_src-0.8-24.tar.gz
|
|
|
|
|
|
|
|
o With assistance for Simon Cooke and Brede Johansen added support
|
|
|
|
for relative include, lib and bin paths into the VisualStudio
|
|
|
|
workspace files.
|
|
|
|
o Changed the link to glut from glut.lib to glut32.lib in VisualStudio
|
|
|
|
workspace files.
|
|
|
|
o Updated the root READE to reflect the simplified Windows compilation.
|
|
|
|
o Added support for osg::GeoState into osg::Scene.
|
|
|
|
o Added osg::Quat::get(Matrix&) & osg::Quat::set(Matrix&) into osg::Quat,
|
|
|
|
submission from Brede Johansen, orginal source from gamasutra.com.
|
|
|
|
o Fixed crash in osgUtil::RenderVisitor::reset(), caused by an
|
|
|
|
unguarded ptr->unref().
|
|
|
|
o Added -Wall to Linux makedefs, and fixed resultant warnings.
|
|
|
|
o Added preliminary interfaces to osgUtil::GUIEventAdaptor,
|
|
|
|
osgUtil::GUIUpdateState and base class osgUtil::CameraManipulator.
|
|
|
|
|
|
|
|
14th October 2000 - osg_src-0.8-23.tar.gz
|
|
|
|
|
|
|
|
o Updated the root README file to mention the Data download,
|
|
|
|
the dependancies (i.e GLUT) and slightly clearer Win32
|
|
|
|
instructions.
|
|
|
|
o Added == operator into osg::Vec2, osg::Vec3 and osg::Vec4.
|
|
|
|
o Removed float* and const float* conversion operators from
|
|
|
|
osg::Vec2, osg::Vec3 and osg::Vec4.
|
|
|
|
o Added Neil Salter's osgUtil work on camera manipulators into
|
|
|
|
the osg distribution under include/osgUtil and src/osgUtil and
|
|
|
|
moved the original src directory to src/osg. Modified Linux
|
|
|
|
and IRIX makefile to account for new library and structure.
|
|
|
|
o Moved osgUtil::Camera into osg::Camera.
|
|
|
|
o Moved osg::RenderVisitor and osg::IntersectVisitor into
|
|
|
|
osgUtil:: RenderVisitor and osgUtil::IntersectVisitor.
|
|
|
|
o Added osgUtil/Export into osgUtil to handle DLL's under Windows.
|
|
|
|
o Modified Viewer.cpp to take account of the new osgUtil
|
|
|
|
library and placement of RenderVisitor and IntersectVisitor.
|
|
|
|
|
|
|
|
7th October 2000 - osg_src-0.8-22.tar.gz
|
|
|
|
|
|
|
|
o Fixed crash under Windows when activating the osg::IntersectVisitor
|
|
|
|
in the scene graph viewer sgv. Bug appears to be an MS Visual C++
|
|
|
|
bug when using a std::multiset iterator and combining std::map and
|
|
|
|
std::multiset. Replacing the later by a std::vector has curred the
|
|
|
|
problem, but also required an explicit sort on the vector in
|
|
|
|
osg::IteratorVisitor::intersect() to achieve the desired functionality.
|
|
|
|
o Fixed the use of gluUnproject() in Viewer.cpp so that it properly
|
|
|
|
resolved the difference in window coordinates between GLUT mouse
|
|
|
|
position which origin is top left, and OpenGL which is bottom left.
|
|
|
|
This fixed picking problems apparent under previous release.
|
|
|
|
o Cleaned up the intersection messages and added timing code to report
|
|
|
|
the length of time required for the osg::IntersectVisitor to traverse
|
|
|
|
the scene.
|
|
|
|
o Added '-OPT:Olimit=0' compile flag to IRIX makedefs to allow large
|
|
|
|
methods, such as the osg::for_each_triangle() template function,
|
|
|
|
to be optimised.
|
|
|
|
o Streamlined the intersect code a little, improving performance by
|
|
|
|
around 20% over previous release.
|
|
|
|
|
|
|
|
|
|
|
|
5th October 2000 - osg_src-0.8-21.tar.gz
|
|
|
|
|
|
|
|
o Added support for shooting a ray through the scene in Viewer.cpp,
|
|
|
|
by pressing 'i' a ray is shot from the mouse position projected onto
|
|
|
|
the near and far plane into the scene reporting back the hit objects,
|
|
|
|
uses the new osg::IntersectVisitor. Note, results are not 100%
|
|
|
|
reliable yet, to be worked on.
|
|
|
|
o Completed first iteration of osg::IntersectVisitor.
|
|
|
|
Visitor allows the intersection of specified segment with the scene,
|
|
|
|
reporting back node path to intersected geoset's and intersection
|
|
|
|
point and object to world transformation.
|
|
|
|
o Added templated function osg::for_each_triangle() to include/osg/GeoSet
|
|
|
|
which allows a functor to iterated through all triangles within a
|
|
|
|
osg::GeoSet. The function decomposses quads and polygons into triangles.
|
|
|
|
o Added osg::Node::getParent(), getParents() and getNumParents() to
|
|
|
|
osg::Node to allow public access to parent list.
|
|
|
|
o Added more doc++ comments to osg::Node & osg::Object.
|
|
|
|
|
|
|
|
21st September 2000 - osg_src-0.8-20.tar.gz
|
|
|
|
|
|
|
|
o Added new osg::Seg class for representing a single line segment,
|
|
|
|
providing methods for intersecting with BoundingSpheres, BoundingBoxes
|
|
|
|
and triangles(not implemented yet), and for transforming the segment.
|
|
|
|
Typical use is for ray based intersections of the scene.
|
|
|
|
o Added the beginnings of a new osg::IntersectVisitor for traversing
|
|
|
|
a scene to find the intersection of attached osg::Seg's with osg::GeoSet's.
|
|
|
|
osg::Seg and osg::IntersectVisitor should be completed for the next release.
|
|
|
|
o Added !operator to osg::RP<> and made osg::RP<>::get() const.
|
|
|
|
o Moved osg::BoundingBox from osg/Types to its own osg/BoundingBox
|
|
|
|
and added default constructor which initializes it to an invalid
|
|
|
|
bounding box (by setting xMax<xMin etc), added isValid() method
|
|
|
|
which returns true if xMin>xMax and other useful methods for
|
|
|
|
accessing and updating the bounding box. Changed the internal
|
|
|
|
representation from eight floats to two osg::Vec3 one each for
|
|
|
|
min and max values.
|
|
|
|
o Moved osg::BoundingSphere from osg/Types to its own osg/BoundingSphere
|
|
|
|
and added default constructor which initializes it to an invalid
|
|
|
|
bounding sphere (by setting radius<0), added isValid() method which
|
|
|
|
returns true if radius is zero or positive and other useful methods
|
|
|
|
for accessing and updating the bounding sphere.
|
|
|
|
o Modified osg::Node so that getBound() return a reference to the
|
|
|
|
internal node's BoundingSphere (which could be invalid), rather
|
|
|
|
than the previous version which required the passing of BoundingSphere
|
|
|
|
which was written to if there was a valid bounding box. This
|
|
|
|
new implementation is more efficient (less copying of data) and more
|
|
|
|
convenient to work with.
|
|
|
|
o Added culling active flags into osg::RenderVisitor and Viewer.cpp,
|
|
|
|
to allow view frustum and small feature culling to be switched on
|
|
|
|
and off at run-time, using 'C' and 'c' to toggle each culling technique
|
|
|
|
repsectively.
|
|
|
|
|
|
|
|
|
|
|
|
15th September 2000 - osg_src-0.8-19.tar.gz
|
|
|
|
|
|
|
|
o Added osg::RenderVisitor::setTransparencySortMode() to allow two
|
|
|
|
modes of depth sorting the transparency bin - the original
|
|
|
|
implementation is set with LOOK_VECTOR_DISTANCE and new
|
|
|
|
implementation OBJECT_EYE_POINT_DISTANCE. The osg::RenderVisitor::apply
|
|
|
|
methods have been modified to support both modes. The later produces
|
|
|
|
better results when rendering billboards such a trees.
|
|
|
|
o Added osg::RenderVisitor::calcNearFar(double& near,double& far), to
|
|
|
|
be called after the cull traversal, which goes through the resultant
|
|
|
|
opaque and transparent binds for their depth range. Returns false
|
|
|
|
if the bins are empty and near and far planes cannot be set, true on
|
|
|
|
success. The near and far plane can then be used when setting OpenGL's
|
|
|
|
near and far planes. The near plane is return as is and may be zero or
|
|
|
|
negative and therefore will need to be clamped by the calling function
|
|
|
|
if the using gluPerpsective() when setting up the OpenGL projection
|
|
|
|
matrix. This clamping will not be required when use gluOrtho().
|
|
|
|
o Viewing.cpp has been modified to support the new calcNearFar method,
|
|
|
|
and does the required clamping to capture invalid values. This has
|
|
|
|
solved problems with Z fighting which existed before on models such
|
|
|
|
as Tux_rocket.osg.
|
|
|
|
o Added project file VisualStudio/libFly/libFly.dsp to support the .fly
|
|
|
|
loader plug-in. Modified several of the .cpp & .h files in
|
|
|
|
Loaders/fly to enable compilation under Win32 and to remove the
|
|
|
|
resulting 'double to float conversion' warnings under Win32.
|
|
|
|
o Improved support for plug-ins under Win32 by adding the environmental
|
|
|
|
variable PATH to the search path used for located the required .dll.
|
|
|
|
o Modified osg::Registry::createLibraryNameForExt so that under Win32
|
|
|
|
the when linking to the debug build of the osg library (osgd.dll)
|
|
|
|
the debug build of the plug-in is also sought (for instance osg_flyd.dll).
|
|
|
|
When using the release build of the osg library (osg.dll) it will
|
|
|
|
default to using the release build of the plug-in (i.e. osg_fly.dll).
|
|
|
|
Mixing debug and release builds under Win32 causes problems with
|
|
|
|
the osg::Registry - producing two or more versions of the singleton!
|
|
|
|
This is a appears to be MS linker bug as its does not resolve the symbols
|
|
|
|
correctly between debug and release builds **!!
|
|
|
|
o To README added example autoexect.bat extract for a helping Windows
|
|
|
|
users getting up and running.
|
|
|
|
|
|
|
|
7th September 2000 - osg_src-0.8-18.tar.gz
|
|
|
|
|
|
|
|
o Implemented a parent list for osg::Node to allow nodes to keep
|
|
|
|
track of their parents. The links to their parents are automatically
|
|
|
|
managed osg::Group::addChild() and removeChild() and destructor.
|
|
|
|
o Added osg::Node::ascend(NodeVisitor&) which traverses the nodes
|
|
|
|
parent list applying the node visitor to each node in turn. This
|
|
|
|
is equivalent to osg::Node::traverse(NodeVisitor&), but typically
|
|
|
|
won't need to be overridden like traverse() is.
|
|
|
|
o Added support for parent traversal into osg::NodeVisitor so that
|
|
|
|
scenes can be traversed upwards as well as the traditional top
|
|
|
|
down traversal. This is useful for propagating changes of leaf
|
|
|
|
and internal nodes upto their parents which enclose them.
|
|
|
|
o Added osg::Node::dirtyBound() method which set the _bound_computed
|
|
|
|
flag to zero so that the next osg::getBound() is forced to recompute
|
|
|
|
the bounding sphere.
|
|
|
|
o Added support into osg::DCS for calling dirtyBound() recursively
|
|
|
|
up the nodes parent paths. This fixes the report view frustum
|
|
|
|
culling bug when viewing Torus.osg.
|
|
|
|
o Changed the #define is osg::Texture to enum TextureMode.
|
|
|
|
o Removed the SGTEX_ prefix from osg::Texture::TextureMode's.
|
|
|
|
o Removed the SGSTATE_ prefix from osg::GeoState::AttributeType
|
|
|
|
and osg::GeoState::AttributeType.
|
|
|
|
|
|
|
|
4th September 2000 - osg_src-0.8-17.tar.gz
|
|
|
|
|
|
|
|
o Changed osg::Sequence so it derives from osg::Group rather than
|
|
|
|
osg::Switch.
|
|
|
|
o Improved the support for pfSwith in the Performer converter pf2osg.
|
|
|
|
o Changed osg::Node so that the node name _name is now a std::string
|
|
|
|
rather than a C style char* string. This clears up a problem with
|
|
|
|
osg:::Node::setName which was erronously handling the freeing of mememory.
|
|
|
|
o Changed Loader/osg2pf.cpp and Viewier/Viewer.cpp inlight of the
|
|
|
|
change to std::string name in osg::Node.
|
|
|
|
o Fixed (again?!) compilation problem on Irix (missing osg:: in
|
|
|
|
Loaders/osg2pf.)
|
|
|
|
o Fixed a bug in Viewer.cpp related to loading multiple files, which
|
|
|
|
resulted in sgv viewing an empty model.
|
|
|
|
|
|
|
|
|
|
|
|
3rd September 2000 - osg_src-0.8-16.tar.gz
|
|
|
|
|
|
|
|
o Fixed compilation problem on Irix (missing osg:: in Loaders/osg2pf.)
|
|
|
|
o Basic Implemention of small feature culling in osg::RenderVisitor, based
|
|
|
|
on culling objects with small screen size projected into the
|
|
|
|
viewport.
|
|
|
|
o Added support for Don Burns real-time frame schedualer into sgv.
|
|
|
|
To compile the viewer with Don's library RTfs use the
|
|
|
|
Viewer/Makefile.rtfs which links with the appropriate libraries
|
|
|
|
and define's SGV_USE_RTFS which is now used in Viewer.cpp to
|
|
|
|
utilise the frame rate schedualing.
|
|
|
|
o Changed osg::Light::init() so that it set the internal variables
|
|
|
|
to predefined constants rather than capturing the values from
|
|
|
|
the current OpenGL state as done previously. The previous versions
|
|
|
|
of osg::Light needed to be constructed in a valid current context.
|
|
|
|
The capturing of the current OpenGL light state can now done with
|
|
|
|
a new method osg::Light::captureLightState().
|
|
|
|
o Added osg::Image::scaleImage(int s,int t,int r) which uses
|
|
|
|
gluScaleImage to scale up/down the image. Useful for scaling down
|
|
|
|
images for graphics cards which can not handle large images, such
|
|
|
|
as the Voodoo1,2 & 3.
|
|
|
|
|
|
|
|
|
|
|
|
27th August 2000 - osg_src-0.8-15.tar.gz
|
|
|
|
|
|
|
|
o Implemented osg::Switch node with similar functionality to performer,
|
|
|
|
allowing all, none or a single child to be selected.
|
|
|
|
o From Graeme, ostream << operator's added to osg::Vec2/3/4 and osg::Quat.
|
|
|
|
o From Graeme, Added osg::Qauat::makeRot which creates a rotation Quat
|
|
|
|
which will rotate vec1 to vec2.
|
|
|
|
o Fixed some of the /// comments on osg::Quat so that doc++ handles it
|
|
|
|
better as it doesn't seem to like multi-line usage of ///.
|
|
|
|
o Fixed compilation problem on Windows with GeoSet.cpp - required
|
|
|
|
the inclusion of <float.h> to handle the use of FLT_MAX.
|
|
|
|
|
|
|
|
25th August 2000 - osg_src-0.8-14.tar.gz
|
|
|
|
|
|
|
|
o Implemented basic view frustum in the render visitor.
|
|
|
|
Performance is now pretty close to Performer on Performer
|
|
|
|
town on the Onyx2.
|
|
|
|
o Modified the iostream includes so that the .h versions
|
|
|
|
can be included by defining OSG_USE_IO_DOT_H, or by default
|
|
|
|
includes the standard C++ version without the .h.
|
|
|
|
|
|
|
|
|
|
|
|
21st August 2000 - osg_src-0.8-13.tar.gz
|
|
|
|
|
|
|
|
o Removed old converter code in OSG.cpp as its is now enterirly replaced
|
|
|
|
by functionality in osg::Registry and osg::DynamicLibrary.
|
|
|
|
o Added support for '/' and '*' keys into sgv for altering the LOD bias.
|
|
|
|
o Added support for '?' key into sgv for printing out help.
|
|
|
|
o Added support for 'o' key into sgv for output scene to "saved_model.osg".
|
|
|
|
o Small improvements to osg2pf, now can handle normals.
|
|
|
|
o Added osg::GeoState::getMode and osg::GeoState::getAttribute() methods.
|
|
|
|
o Fixed compilation problem under Irix in sgv.cpp.
|
|
|
|
o Fixed compilation problems under Windows.
|
|
|
|
o Added new models Data/esprit.osg and Data/paraglider.osg.
|
|
|
|
o Re-exported Cow.osg, Tux.osg and Tux_rocket.osg from Performer,
|
|
|
|
correcting artifacts relating to state inheritance in the previous
|
|
|
|
.osg models.
|
|
|
|
o Removed Loaders/osg as it was only there to illustrate how to write and
|
|
|
|
reader/writer library (as loading functionalilty is is already built
|
|
|
|
into libosg.so.) Loaders/fly and Loaders/vnf both serve the purpose
|
|
|
|
of illustrating read/writer functionality, making Loaders/osg redundent.
|
|
|
|
|
|
|
|
17th August 2000 - osg_src-0.8-12.tar.gz
|
|
|
|
|
|
|
|
o Fixed a bug with the CompileGeoSets visitor in Viewer.cpp where
|
|
|
|
the visitor was not using the new traversal conventions. The
|
|
|
|
bug ment that 0.8-11 would have only compiled OpenGL display list
|
|
|
|
for the first child of an LOD, Switch and Sequence and leave the
|
|
|
|
rest to be rendered without display lists. This fix now allows
|
|
|
|
all osg::GeoSet to be visited and display lists compiled - which
|
|
|
|
should improve performance on systems where display list are
|
|
|
|
important.
|
|
|
|
o Implemented a *very* basic view frustum culling to get a handle
|
|
|
|
on the potential performance improvements. I've added the ability
|
|
|
|
cull objects wholely behind the eye point. This is clearly much
|
|
|
|
less powerful at culling than proper view frustum culling but is
|
|
|
|
much quicker to implement. Performance improvement is _non_existant_
|
|
|
|
through to *AMAZING*. On lowly PI233 & TNT Linux box I'm now
|
|
|
|
getting 5 frames a sec when viewering the whole model, through
|
|
|
|
to 6-8 frames a sec looking close up to the town to 40-50 frames
|
|
|
|
when looking at the out-lying farms and mountains. Full view
|
|
|
|
frustum culling promises even better results!
|
|
|
|
|
|
|
|
16th August 2000 - osg_src_0.8-11.tar.gz
|
|
|
|
|
|
|
|
o Completed basic LOD functionality in osg:LOD and osg::RenderVisitor.
|
|
|
|
o Modified Performer to OSG converter to handle LOD's.
|
|
|
|
o Added a templated function write out arrays of data to osg::Output,
|
|
|
|
while enable multiple values to written out on each line, defaulting
|
|
|
|
to 10 values per line.
|
|
|
|
o Modified osg::GeoSet to use enabling duplicated code to be removed
|
|
|
|
and the .osg file format to be more compact virtual of the multiple
|
|
|
|
values values per line.
|
|
|
|
o Added the ablity to chain osg::NodeVisitor's together to enable
|
|
|
|
user defined traversers to be used in preferences to the standard
|
|
|
|
osg::Node::traverse().
|
|
|
|
o Added a traversal mode to osg::NodeVisitor to enable osg::Node::traverse()
|
|
|
|
to distingush whether to traverse all children or only those which are
|
|
|
|
active such as when traversing a switch or sequence.
|
|
|
|
|
|
|
|
10th August 2000 - osg_src_0.8-10.tar.gz
|
|
|
|
|
|
|
|
o Further work of the OSG to Performer converter osg2pf. Can now
|
|
|
|
convert basic geometry.
|
|
|
|
o Fixed the osg::Billboard::computeBound() so it accounts for the
|
|
|
|
billboard positions correctly.
|
|
|
|
o Fixed a memory deallocation problem in RenderVisitor which caused
|
|
|
|
a serious memory leak which would eventually grind the system to
|
|
|
|
a halt on big models.
|
|
|
|
o Added support for a global osg::GeoState into Viewer.cpp and
|
|
|
|
osg::GeoState, also add the ability to overide local state modes
|
|
|
|
with the global state, or inherit the local state from the
|
|
|
|
global state. This enables the sgv keys 't' and 'l' to work
|
|
|
|
as would as one would expect.
|
|
|
|
o Created a new method osg::GeoState::apply(GeoState* global,GeoState* prev)
|
|
|
|
which takes the previously applied GeoState and then only applies the
|
|
|
|
differences. This is crude step to mimic the pushState and popState in
|
|
|
|
Performer's pfState class - but does achieve the lazy state updating. This
|
|
|
|
just a short term step, but does give some healthy performance improvements
|
|
|
|
- the old way produced a draw time of ~42ms on Performer town, with
|
|
|
|
the new lazy updating of state the draw time is ~25ms (on a Onyx2 IR.)
|
|
|
|
This is the about same draw time as Perfly when culling is
|
|
|
|
switched off. Enabling culling in Perfly more than halves the
|
|
|
|
draw time.
|
|
|
|
o Modified osg::Billboard::calcTransform() & calcRotation() to do the
|
|
|
|
hand coded maths calculations rather than using generic osg::Matrix
|
|
|
|
operations to do it. This has cut the cull traversal down for 16ms to
|
|
|
|
12ms. Combined with the new lazy state updating frame rates on
|
|
|
|
Performer town now hits 24 frames a second.
|
|
|
|
o Added data access methods to osg::GeoSet and osg::Referenced.
|
|
|
|
|
|
|
|
7th August 2000 - osg_src-0.8-09.tar.gz
|
|
|
|
|
|
|
|
o Added some temporary timing code to Viewer to reveal rendering
|
|
|
|
bottle necks.
|
|
|
|
o Modified osg::RenderVisitor so it handles osg::Billboards more
|
|
|
|
efficiently by storing the inverse matrix stack in sync with the
|
|
|
|
current matrix stack.
|
|
|
|
o Changed Make/makedefs.linux and Make/makedefs.irix to use -O2
|
|
|
|
instead of the previous -g setting. This speeds up the cull
|
|
|
|
traversal by 2-3 times.
|
|
|
|
|
|
|
|
5th August 2000 - osg_src-0.8-08.tar.gz
|
|
|
|
|
|
|
|
o Fixed build problems under Windows.
|
|
|
|
o Added basic support for pfLOD,pfSwitch and pfSequence into pf2osg.
|
|
|
|
o Implemented osg::Switch and osg::LOD to just traverse their first
|
|
|
|
child rather than all their children as osg::Group does. This is
|
|
|
|
a temporary measure to get round the lack of full implementations
|
|
|
|
of osg::Switch and osg::LOD.
|
|
|
|
o Added osg::Sequence basic interface, core functionality remains
|
|
|
|
to be implemented.
|
|
|
|
|
|
|
|
3rd August 2000 - osg_src-0.8-07.tar.gz
|
|
|
|
|
|
|
|
o Added osg/FileNameUtils which is a collection of useful functions
|
|
|
|
for parsing filenames.
|
|
|
|
o Further work on the Performer converter pf2osg, now can load
|
|
|
|
most models from the Performer distribution, including Performer
|
|
|
|
town. Performance with sgv compares well with perfly on most
|
|
|
|
models but Performer town is significantly slower than with
|
|
|
|
perfly (5fps vs 50fps on a Onyx2 IR). It looks like the OSG
|
|
|
|
current simplicistic state management needs a revamp to get
|
|
|
|
performance up where it belongs... This is will be done in
|
|
|
|
the near future.
|
|
|
|
o Added support for flat shaded primtives into osg::GeoSet as per
|
|
|
|
pfGeoSet, this was required to bring across several key peformer
|
|
|
|
models such as Performer town.
|
|
|
|
o Added bare bones of an OSG to Performer conversion program,
|
|
|
|
osg2pf under Loaders/osg2pf.
|
|
|
|
o Modified osg::Node so that it saves and loads its name if it has
|
|
|
|
one.
|
|
|
|
|
|
|
|
28th July 2000 - osg-0.8-06.tar.gz
|
|
|
|
|
|
|
|
o Futher work on Performer converter pf2osg.
|
|
|
|
o Bug fixes to osg::GeoSet revealled by the Performer work.
|
|
|
|
|
|
|
|
26th July 2000 - osg-0.8-05.tar.gz
|
|
|
|
|
|
|
|
o Added support for osg::Object sharing in the reading and writing of
|
|
|
|
the .osg format. This enables a MASSIVE speed up on models which
|
|
|
|
can share GeoState's. Expect order of magnitude of speed up on
|
|
|
|
models such as /usr/share/Performer/data/iris.flt (from the Performer
|
|
|
|
distribution and converted using the new pf2osg converter.
|
|
|
|
o Added support of pfObject sharing in the Performer converter, taking
|
|
|
|
advantage on the above.
|
|
|
|
o Bug fixes to the writing of osg::GeoSet's to .osg files.
|
|
|
|
|
|
|
|
19th July 2000 - osg-0.8-04.tar.gz
|
|
|
|
|
|
|
|
o Due to problems with integrating Performer as plug-in on Linux,
|
|
|
|
have converted it to work as a conversion program - now called
|
|
|
|
pf2osg and can be found in Loaders/pfb.
|
|
|
|
|
|
|
|
5th July 2000 - osg-0.8-03.tar.gz
|
|
|
|
|
|
|
|
o Bugs fixes to support in osg::GeoSet for normal, colour
|
|
|
|
and texture coordinate binding, and modified the .osg
|
|
|
|
ascii format to reflect this.
|
|
|
|
o Added glMaterialColor() to Viewer/Viewer.cpp to enable
|
|
|
|
colors to be activated on osg::GeoSet's. Without it
|
|
|
|
untextured models would turn only be coloured by
|
|
|
|
current glMaterial rather than the current glColor.
|
|
|
|
o Moved the compilation of the display lists from the init
|
|
|
|
stage into the draw function, as the requests to glGenLists
|
|
|
|
was failing within the Viewing::init's glContext. glDisplay
|
|
|
|
lists are now created correctly with a nice improvement in
|
|
|
|
speed :-)
|
|
|
|
|
|
|
|
4th July 2000 - osg-0.8-02.tar.gz
|
|
|
|
|
|
|
|
o new version numbering scheme to be consistent with the
|
|
|
|
RedHat scheme - ie. ProjectName-Version-Release. The
|
|
|
|
current alpah release has been assigned as version 0.8,
|
|
|
|
and the release number 02 reflecting this is the second
|
|
|
|
release under the new scheme (alot can happen in day:-)
|
|
|
|
o Support for RedHat RPM distributions has been added, and
|
|
|
|
can be found in OpenSceneGraph-0.8/dist/RedHatRPM.
|
|
|
|
o Further work on the Peformer loader, which can now read
|
|
|
|
in pfGroup,pfDCS,pfGeode, pfGeoSet and small bit of
|
|
|
|
pfGeoState/pfMaterial.
|
|
|
|
o Improved the support in osg::GeoSet for normal, colour
|
|
|
|
and texture coordinate binding, and modified the .osg
|
|
|
|
ascii format to reflect this.
|
|
|
|
o All .osg ascii files in Data were updated to reflect
|
|
|
|
the new binding information.
|
|
|
|
|
|
|
|
3rd July 2000 - osg_src_20000703.tar.gz
|
|
|
|
|
|
|
|
o Changed the return types for several of the operators in osg::Vec2/3/4.
|
|
|
|
o Further work on osg::Billboard.
|
|
|
|
o Further work on Loader/pfb.
|
|
|
|
|
|
|
|
27th June 2000 - osg_src_20000627.tar.gz
|
|
|
|
|
|
|
|
o Added make snapsrc and make snapdata to the root Makefile to
|
|
|
|
allow smaller source only and data only distributions.
|
|
|
|
o Completed Billboard::Mode::AXIAL_ROT functionalilty which fits
|
|
|
|
the case of billboarded trees, POINT_ROT_EYE and POINT_ROT_WORLD
|
|
|
|
left to complete.
|
|
|
|
o Removed the reference to Image library in pfb Makefile which caused
|
|
|
|
the build of the Performer loader to break under linux.
|
|
|
|
|
|
|
|
26th June 2000 - osg_20000626.tar.gz
|
|
|
|
|
|
|
|
o Added the Don Burns' hang gliding flight simulator database
|
|
|
|
loader example into distribtion under Loader/fly. The data
|
|
|
|
file used to select which components of the database to load
|
|
|
|
has been added as Data/flight_park.fly. The scene can be
|
|
|
|
loaded in the standard way i.e. "sgv flight_park.fly"
|
|
|
|
o Created the beginings of a Performer .pfb loader. The work is
|
|
|
|
ongoing, the first signs of life can be found in Loaders/pfb.
|
|
|
|
o Continued work on osg::Registry related to dynamic loading
|
|
|
|
of Reader/Writer plug-ins, its now works as intended!
|
|
|
|
o Continued work on the new osg::Billboard class, completing the
|
|
|
|
class interface and saving and loading functions. Calculation
|
|
|
|
of the rotation matrix used to orientate the billboard towards
|
|
|
|
the eye point is final element left to implement - coming soon!
|
|
|
|
o Added support for osg::Billboard into osg::RenderVisitor.
|
|
|
|
o Fixed a bug in osg::RenderVisitor::pushMatrix() relating to
|
|
|
|
pre/post multiplication of matrices.
|
|
|
|
o Changed the * operator in osg::Matrix to return a osg::Matrix
|
|
|
|
rather than a osg::Matrix*.
|
|
|
|
|
|
|
|
20th June 2000 - osg_20000620.tar.gz
|
|
|
|
|
|
|
|
o Fixed Irix compile problems related to missging std:: from use of
|
|
|
|
std library strings in Loaders/Osg/osg.cpp on Irix.
|
|
|
|
o Fixed crash in sgv due to Loaders/Osg/osg.cpp using the same static
|
|
|
|
variable name as src/ReaderWriterOSG.cpp.
|
|
|
|
o Removed temporary code (from osg_20000619) in Viewer.cpp which was
|
|
|
|
used for testing loading and closing at runtime of dynamic libraries
|
|
|
|
(plug-ins).
|
|
|
|
|
|
|
|
19th June 2000 - osg_20000619.tar.gz
|
|
|
|
|
|
|
|
o New osg::Vec2, Vec3 and Vec4 have been written and placed in individual
|
|
|
|
header files, replacing original typdef float[] versions in osg/Types.
|
|
|
|
The new Vec classes now add a range maths operations with them such
|
|
|
|
as multiplication, dot and cross product.
|
|
|
|
o New osg::DynamicLibrary class has been written to encapsulate the loading
|
|
|
|
and closing of dynamic libraries across different platforms with one
|
|
|
|
consistent interface.
|
|
|
|
o osg::DynamicLibrary support has been added to osg::Registry,
|
|
|
|
not fully implemented yet, but will soon replace the old style dso
|
|
|
|
support seen in osg/OSG.cpp.
|
|
|
|
o osg::Registry, osg::RegisterReaderWriterProxy,
|
|
|
|
osg::RegisterObjectProxy, have all been modified to support the
|
|
|
|
removal of automatically deleted Prototypes and ReaderWriters from
|
|
|
|
the Registry. Automatic deletion occurs when a dynamic library is
|
|
|
|
closed - the proxies now deregister themselves when this happens
|
|
|
|
ensuring that these deleted objects are never referenced.
|
|
|
|
This facility enables reader/writer plug-ins to be loaded when
|
|
|
|
needed then closed to free up the space again, all at run-time.
|
|
|
|
o Renamed include/osg/ReferencedPointer to include/osg/Referenced to
|
|
|
|
reflect the main class it defines.
|
|
|
|
|
|
|
|
6th June 20000 - osg_20000606.tar.gz
|
|
|
|
|
|
|
|
o Modified the root Makefile so that it can target linux or irix
|
|
|
|
compilation directly by copying the appropriate makerules/makedefs.
|
|
|
|
README now reflects the simplified make.
|
|
|
|
o Changed the names of Make/makedefs.sgi and Make/makedefs.sgi
|
|
|
|
to Make/makedefs.irix and Make/makedefs.irix to make it more
|
|
|
|
consistent and allow for sgi's new Linux boxes:-)
|
|
|
|
|
|
|
|
29th May 20000 - osg_20000529.tar.gz
|
|
|
|
|
|
|
|
o Added clean up of 'so_locations' & 'ii_files' into sgi build rules.
|
|
|
|
o Fixed compilation problems due to shortcomming of MicroSoft C++ 6.0
|
|
|
|
when handling static const's declared within the scope of class.
|
|
|
|
Have changed to #define, less C++ but works...
|
|
|
|
|
|
|
|
28th May 20000 - osg_20000528.tar.gz
|
|
|
|
|
|
|
|
o Moved the doc directory to docs to be consistent with other Open Source
|
|
|
|
software projects.
|
|
|
|
o Created osg::Billboard class, currently only 1/3rd complete.
|
|
|
|
o Implemented the .osg ASCCII file read and write methods for osg::DCS.
|
|
|
|
o Moved defines & enums which were in the osg global namespace into the
|
|
|
|
classes they are associated (this has now broken the Win32 -
|
|
|
|
currently investigating.)
|
|
|
|
o Removed the virtual int osg::Node::classType() function as its
|
|
|
|
function is better served by RTTI such as dynamic_cast<>.
|
|
|
|
o Added automatic register proxy to osg::Scene so it properly
|
|
|
|
registers itself with osg::Registry.
|
|
|
|
o Added shell of the osg::LOD and osg::Switch classes which will
|
|
|
|
be implemented fully at a later date.
|
|
|
|
o Changed a cout to printf in src/Registry.cpp to fix a dumb
|
|
|
|
crash under Win32 - MicroSoft still can't write decent compilers...
|
|
|
|
o Modified several library class so that they use the convention of
|
|
|
|
_variableName for class member variables, these classes were
|
|
|
|
developed before the the above convention was adopted as standard.
|
|
|
|
o Fixed bug in Geoset_osg.cpp related to GL Display Lists.
|
|
|
|
o Merged file_p.cpp into file.cpp files and removed file_p.cpp
|
|
|
|
exept for GeoSet_p.cpp which was kepth seperate due to its size.
|
|
|
|
GeoSet_p.cpp has been renamed GeoSet_ogl.cpp to reflect its primary
|
|
|
|
function.
|
|
|
|
|
|
|
|
25th May 2000 - osg_20000525.tar.gz
|
|
|
|
|
|
|
|
o Changed library header files in include/osg/ from C style .h
|
|
|
|
to the new Standard C++ style without suffix. For instance
|
|
|
|
include/osg/Node.h has become include/osg/Node.
|
|
|
|
o Moved all osg::Branch functionality to osg::Group, and removed
|
|
|
|
osg::Branch.
|
|
|
|
o Changes to src/*.cpp, Viewer/* and Loaders/Osg/* to account for
|
|
|
|
the above header and osg::Group changs.
|
|
|
|
o Fixed some inappropriate permission in the data directory.
|
|
|
|
|
|
|
|
22nd May 2000 - osg_20000522.tar.gz
|
|
|
|
|
|
|
|
o Added to the FAQ.
|
|
|
|
o Added more functionality to the osg::Matrix.
|
|
|
|
o Incorportated makedefs.sgi fix to handle .cpp extensions.
|
|
|
|
|
|
|
|
16th May 2000 - osg_20000516.tar.gz
|
|
|
|
|
|
|
|
o Added more doc++ comments to headers file.
|
|
|
|
|
|
|
|
14th May 2000 - osg_20000514.tar.gz
|
|
|
|
|
|
|
|
o moved .cxx extensions to .cpp.
|
|
|
|
o removed sg prefix from all library files and class as they were
|
|
|
|
redudent virtue of the new osg namespace.
|
|
|
|
o changed the include/OSG to include/osg to keep it consistent with
|
|
|
|
library and namespace capitilization.
|
|
|
|
o added osg namespace it the remaining classes which were missed the
|
|
|
|
first time round!
|
|
|
|
o add first iteration of the FAQ.
|
|
|
|
o fixed the permission of files - many incorrectly had executable
|
|
|
|
permissions.
|
|
|
|
|
|
|
|
9th May 2000 - osg_20000509.tar.gz
|
|
|
|
|
|
|
|
o reduced the STL platform specific #ifdef's.
|
|
|
|
o remove using namespace from all header files, so not to pollute user space.
|
|
|
|
|
|
|
|
8th May 2000 - osg_20000508.tar.gz
|
|
|
|
|
|
|
|
o osg namespace implemented.
|
|
|
|
|
|
|
|
6th May 2000 - osg_20000506.tar.gz
|
|
|
|
|
|
|
|
o Added CHANGES list for logging changes from version to version.
|
|
|
|
o Added TODO list for list desired functionality and development activity.
|
|
|
|
o Beautified the code using bcpp.
|
|
|
|
|
|
|
|
2nd May 2000 - osg_20000502.tar.gz
|
|
|
|
|
|
|
|
Release first alpha version, compiles under Windows95, Linux and Irix,
|
|
|
|
distribtion includes :
|
|
|
|
|
|
|
|
o unix makefiles for Linux, Irix and Win32 via MS VC++6.0 workspace files.
|
|
|
|
o basic GLUT based scene graph viewer - sgv.
|
|
|
|
o basic Scene Graph nodes, such as sgBranch, sgGeode.
|
|
|
|
o basic Drawing primitive and state containers GeoSet and GeoState.
|
|
|
|
o basic Maths/Geometry classes such as sgMatrix, sgVec2/3/4.
|
|
|
|
o refence counting and smart pointers via sgReferenced and sgRP<> classes.
|
|
|
|
o support for automatic object registration with sgRegistry.
|
|
|
|
o support for automatic reader writer plug-ins with sgReaderWriter/sgRegistry.
|
|
|
|
o input parsing classes sgField,sgFieldReader.
|
|
|
|
o .osg ascii file reader/writer.
|
|
|
|
o .rgb/.rgba (sgi format) images reader.
|
|
|
|
o automatically generated documention from header files using doc++.
|