1047 lines
55 KiB
Plaintext
1047 lines
55 KiB
Plaintext
OSG Change log
|
|
==============
|
|
|
|
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++.
|