diff --git a/ChangeLog b/ChangeLog index 034e14316..05f663cd4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,2240 +1,3506 @@ -OSG Change log -============== - - o Moved the osg across to using radians for all angular paramters, - previously all angular paramters were degrees as per Performer. - If the osg is compiled with USE_DEGREES_INTERNALLY defined then - the osg will revert to using degrees for anglular paramters, - however, this is only a temporary measure to help users port. - The inline methods inDegrees(float), and inRadians(float) have - been added into osg/Types to make porting easier, these methods - covert the specified anglular quantity into the current internal - angular units. - o Added osg::EarthSky node to support users defined clearing of the - color and depth buffers. - o Added support for removal of duplicate StateSets using the - osgUtil::OptimizeStateVisitor, previously of removal of duplicate - StateAttributes was supported. - o Made spelling corrections in include/osgDB,osgUtil,osgGLUT,osgWX, - spelling mistakes picked up by a script written by Neil Salter. - o Made osg::Matrix::_mat private, and updated the rest of the osg - to use the Matrix::operate(row,col) method instead of _mat[row][col]. - 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. - 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. - -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. - -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 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 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 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. - 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 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 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 xMaxxMax 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 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++. +2001-12-30 10:12 robert + + * doc/doc++/osg/: StateAttribute.html, Transform.html: Did a make + docs, in preperation for 0.8.43 release. + +2001-12-30 10:01 robert + + * src/osgPlugins/pfb/ConvertToPerformer.cpp: Compilation fix to pfb + plugin, sent in by Ulrich Hertlein. + +2001-12-30 10:00 robert + + * INSTALL: Added a comment in Windows section on INSTALL notes such + that it now recommends that you build all the libs. + +2001-12-29 15:53 robert + + * bin/.README: Added .README to prevent CVS from deleting the empty + bin directory when checking out copies. This was a problem with + the nightly tarballs. + +2001-12-29 09:27 robert + + * include/osg/Transform: Added comment to osg::Transform w.r.t use + of GL_NORMALIZE when using scaling Transforms. + +2001-12-29 07:28 robert + + * src/: Makefile, Demos/Makefile, Demos/osgcluster/broadcaster.cpp, + Demos/osgcluster/receiver.cpp: Updates form Randall Hopper for the + FreeBSD build + +2001-12-27 15:06 robert + + * include/osg/StateAttribute: Made inline documentation on the + Values enum clearer w.r.t the function of OVERRIDE_ON and + OVERRIDE_OFF. + +2001-12-26 15:55 robert + + * doc/stereo.html: Added more details about using stereo with the + OSG, in particular the role of the camera manipulators and the + fusion distance. + +2001-12-24 18:34 robert + + * doc/: index.html, doc++/osg/AttributeFunctor.html, + doc++/osg/ColorMatrix.html, doc++/osg/DisplaySettings.html, + doc++/osg/EarthSky.html, doc++/osg/LineWidth.html, + doc++/osg/Statistics.html, doc++/osg/g_NotifyInit.html, + doc++/osg/g_NotifyNulStream.html, doc++/osgDB/Options.html, + doc++/osgDB/ReadResult.html, doc++/osgDB/WriteResult.html, + doc++/osgDB/findFileInPath.html, doc++/osgDB/readCommandLine.html, + doc++/osgDB/readNodeFiles.html, doc++/osgGLUT/Window.html, + doc++/osgText/BitmapFont.html, doc++/osgText/ClassGraph.class, + doc++/osgText/ClassGraphPanel.class, + doc++/osgText/ClassLayout.class, doc++/osgText/Font.html, + doc++/osgText/General.html, doc++/osgText/HIER.html, + doc++/osgText/HIERjava.html, doc++/osgText/NavigatorButton.class, + doc++/osgText/OutlineFont.html, doc++/osgText/Paragraph.html, + doc++/osgText/PixmapFont.html, doc++/osgText/PolygonFont.html, + doc++/osgText/RasterFont.html, doc++/osgText/Text.html, + doc++/osgText/TextureFont.html, doc++/osgText/VectorFont.html, + doc++/osgText/icon1.gif, doc++/osgText/icon2.gif, + doc++/osgText/index.html, doc++/osgText/osgText.html, + doc++/osgText/osgTextGetLibraryName.html, + doc++/osgText/osgTextGetVersion.html, + doc++/osgUtil/CombineLODsVisitor.html, + doc++/osgUtil/DisplayRequirementsVisitor.html, + doc++/osgUtil/FlattenStaticTransformsVisitor.html, + doc++/osgUtil/Optimizer.html, + doc++/osgUtil/RemoveRedundentNodesVisitor.html, + doc++/osgUtil/StateVisitor.html, + doc++/osgUtil/TransformCallback.html: Updated doc++ references so + that CVS knows about all the newly generated files. + +2001-12-24 18:28 robert + + * index.html: Updated the index.html to include references to the + new osgText library and demo app. + +2001-12-24 18:14 robert + + * INSTALL: Removed references to redundent environmental variables. + +2001-12-24 16:55 robert + + * doc/doc++/: osg/AlphaFunc.html, osg/Billboard.html, + osg/BoundingBox.html, osg/BoundingSphere.html, osg/Camera.html, + osg/ClipPlane.html, osg/ClippingVolume.html, osg/ColorMask.html, + osg/CullFace.html, osg/Depth.html, osg/Drawable.html, osg/Fog.html, + osg/FrameStamp.html, osg/FrontFace.html, osg/General.html, + osg/GeoSet.html, osg/Geode.html, osg/Group.html, osg/HIER.html, + osg/HIERjava.html, osg/Image.html, osg/Impostor.html, + osg/ImpostorSprite.html, osg/ImpostorSpriteManager.html, + osg/LOD.html, osg/Light.html, osg/LightSource.html, + osg/LineSegment.html, osg/Material.html, osg/Matrix.html, + osg/MemoryAdapter.html, osg/Node.html, osg/NodeAcceptOp.html, + osg/NodeCallback.html, osg/NodeVisitor.html, + osg/NotifySeverity.html, osg/Object.html, osg/Plane.html, + osg/Point.html, osg/PolygonMode.html, osg/PolygonOffset.html, + osg/Quat.html, osg/Referenced.html, osg/State.html, + osg/StateAttribute.html, osg/StateSet.html, osg/Stencil.html, + osg/Switch.html, osg/TexEnv.html, osg/TexGen.html, osg/TexMat.html, + osg/Texture.html, osg/Timer.html, osg/Transform.html, + osg/Transparency.html, osg/Vec2.html, osg/Vec3.html, osg/Vec4.html, + osg/Viewport.html, osg/clampArray3BetweenRange.html, + osg/clampArray3GEQUAL.html, osg/clampArray3LEQUAL.html, + osg/clampArray4BetweenRange.html, osg/clampArray4GEQUAL.html, + osg/clampArray4LEQUAL.html, osg/clampArrayElementBetweenRange.html, + osg/clampArrayElementGEQUAL.html, osg/clampArrayElementLEQUAL.html, + osg/clampArrayElementsBetweenRange.html, + osg/clampArrayElementsGEQUAL.html, + osg/clampArrayElementsLEQUAL.html, osg/clampBetweenRange.html, + osg/clampGEQUAL.html, osg/clampLEQUAL.html, + osg/createGeodeForImage.2.html, osg/for_each_triangle.html, + osg/index.html, osg/isGLExtensionSupported.html, osg/mem_ptr.html, + osg/notify.html, osg/osg.html, osg/osgGetVersion.html, + osg/ref_ptr.html, osgDB/DotOsgWrapper.html, osgDB/FieldReader.html, + osgDB/FieldReaderIterator.html, osgDB/HIER.html, + osgDB/HIERjava.html, osgDB/Input.html, osgDB/Output.html, + osgDB/ReaderWriter.html, osgDB/RegisterDotOsgWrapperProxy.html, + osgDB/RegisterReaderWriterProxy.html, osgDB/Registry.html, + osgDB/findFileInDirectory.html, osgDB/osgDB.html, + osgDB/osgDBGetVersion.html, osgDB/readImageFile.html, + osgDB/readNodeFile.html, osgDB/readObjectFile.html, + osgDB/writeImageFile.html, osgDB/writeNodeFile.html, + osgDB/writeObjectFile.html, osgGLUT/GLUTEventAdapter.html, + osgGLUT/General.html, osgGLUT/HIER.html, osgGLUT/HIERjava.html, + osgGLUT/Viewer.html, osgGLUT/index.html, osgGLUT/osgGLUT.html, + osgGLUT/osgGLUTGetVersion.html, osgUtil/CullVisitor.html, + osgUtil/DepthSortedBin.html, osgUtil/DisplayListVisitor.html, + osgUtil/DriveManipulator.html, osgUtil/FlightManipulator.html, + osgUtil/GUIActionAdapter.html, osgUtil/GUIEventAdapter.html, + osgUtil/GUIEventHandler.html, osgUtil/General.html, + osgUtil/HIER.html, osgUtil/HIERjava.html, osgUtil/Hit.html, + osgUtil/InsertImpostorsVisitor.html, osgUtil/IntersectState.html, + osgUtil/IntersectVisitor.html, osgUtil/RegisterRenderBinProxy.html, + osgUtil/RenderBin.html, osgUtil/RenderGraph.html, + osgUtil/RenderLeaf.html, osgUtil/RenderStage.html, + osgUtil/RenderStageLighting.html, + osgUtil/RenderToTextureStage.html, osgUtil/SceneView.html, + osgUtil/SceneViewManipulator.html, osgUtil/SmoothingVisitor.html, + osgUtil/StateSetManipulator.html, osgUtil/Tesselator.html, + osgUtil/TriStripVisitor.html, osgUtil/index.html, + osgUtil/osgUtil.html, osgUtil/osgUtilGetVersion.html: Did a make + docs. + +2001-12-24 16:34 robert + + * include/osg/Light, src/osg/Light.cpp, + src/osgPlugins/dw/ReaderWriterDW.cpp, src/osgPlugins/osg/Light.cpp, + src/osgUtil/SceneView.cpp: Fixed the osg::Light so that it requires + the user to explicitly define which OpenGL light is being operated + on, and also now relies upong the standard osg::State handling of + OpenGL modes to switch on the appropriate lights. + + The previous static counter mechansim for the light number was + causing a redundent light to be created when the osg plugin created + the first osg::Light to use a prototype for other osg::Light's to + be cloned from in the .osg plugin execution. + + The static count mechanism also prevent the lights modes being + controlled independantly from the setting of the light paramters + themselves. This meant that a light once created was global, and + couldn't be turned off locally via the OSG's support for OpenGL + mode enabling/disabling. This has been overcome with the new + implementation, the user has complete flexiblity of when and where + to use the different lights at their disposal. + +2001-12-24 14:06 robert + + * include/osgGLUT/Viewer, include/osgGLUT/Window, + src/Demos/hangglide/hangglide.cpp, src/Demos/sgv/Makefile, + src/osgGLUT/Viewer.cpp, src/osgGLUT/Window.cpp: Updated the + osgGLUT::Viewer to subclass from osgGLUT::Window as has been + intended since the development of osgGLUT::Window. + +2001-12-24 10:12 robert + + * VisualStudio/osgPlugins/gif/gif.dsp: updates for windows build + +2001-12-24 09:12 robert + + * FAQ, INSTALL, Makefile, TODO, doc/stereo.html, src/Makefile, + src/Demos/Makefile, src/Demos/hangglide/base.cpp, + src/Demos/hangglide/sky.cpp, src/Demos/hangglide/tank.cpp, + src/Demos/hangglide/terrain.cpp, src/Demos/hangglide/trees.cpp, + src/Demos/osgimpostor/osgimpostor.cpp, + src/Demos/osgreflect/osgreflect.cpp, src/Demos/osgtext/main.cpp, + src/Demos/osgviews/osgviews.cpp, src/Demos/sgv/sgv.cpp, + src/osg/Light.cpp, src/osg/Matrix.cpp, src/osgPlugins/Makefile, + src/osgPlugins/pfb/ConvertFromPerformer.cpp, + src/osgPlugins/pfb/ConvertToPerformer.cpp, + src/osgPlugins/png/new_ReaderWriterPNG.cpp, src/osgText/Font.cpp, + src/osgUtil/FlightManipulator.cpp, src/osgUtil/RenderBin.cpp, + src/osgUtil/TrackballManipulator.cpp: Various clean ups for the + release. + +2001-12-22 17:30 robert + + * doc/stereo.html, src/Demos/osgimpostor/osgimpostor.cpp, + src/Demos/osgreflect/osgreflect.cpp, + src/Demos/osgviews/osgviews.cpp, src/Demos/sgv/sgv.cpp: Updates to + keep things compiling under Windows. Also cleaned up the new + stereo.html docs. + +2001-12-22 16:35 robert + + * doc/: index.html, stereo.html: Added beginnings on documentation + for stereo support, the stereo.html needs to be re-edited in a html + editor before it becomes readable though.. + +2001-12-22 09:55 robert + + * src/Demos/: hangglide/GliderManipulator.cpp, + osgimpostor/osgimpostor.cpp, osgreflect/osgreflect.cpp, + osgtexture/osgtexture.cpp, osgviews/osgviews.cpp, sgv/sgv.cpp: + Updated usage messages to include new stereo and stencil + commandline options. + +2001-12-21 17:48 robert + + * VisualStudio/osg/osg.dsp, VisualStudio/osgUtil/osgUtil.dsp, + include/osg/Camera, include/osg/DisplaySettings, include/osg/State, + include/osg/VisualsSettings, include/osgGLUT/Viewer, + include/osgUtil/DisplayRequirementsVisitor, + include/osgUtil/SceneView, + include/osgUtil/VisualsRequirementsVisitor, src/osg/Camera.cpp, + src/osg/DisplaySettings.cpp, src/osg/Makefile, + src/osg/VisualsSettings.cpp, src/osgGLUT/Viewer.cpp, + src/osgUtil/DisplayRequirementsVisitor.cpp, + src/osgUtil/DriveManipulator.cpp, + src/osgUtil/FlightManipulator.cpp, src/osgUtil/Makefile, + src/osgUtil/SceneView.cpp, src/osgUtil/TrackballManipulator.cpp, + src/osgUtil/VisualsRequirementsVisitor.cpp: Further work on + improving stereo support in the OSG. + + Renamed the osg::VisualsSettings to osg::DisplaySettings, and + osgUtil::VisualsRequirementsVisitor to + osgUtil::DisplayRequirementsVisitor. + + Added support for OSG_SCREEN_HEIGHT into osg::DisplaySettings, and + added a DisplaySettings* to the constructors of osg::SceneView and + osg::Camera. + +2001-12-21 08:07 robert + + * include/osg/Camera, src/osg/Camera.cpp, + src/osgUtil/DriveManipulator.cpp, + src/osgUtil/FlightManipulator.cpp, src/osgUtil/SceneView.cpp, + src/osgUtil/TrackballManipulator.cpp: Updates to the support for + stereo in osg::Camera, osgUtil::SceneView and the + CameraManipulators. + +2001-12-20 15:48 robert + + * VisualStudio/osg/osg.dsp, + VisualStudio/osgPlugins/osg/dot_osg.dsp, include/osg/LineWidth, + include/osg/StateAttribute, src/osg/LineWidth.cpp, + src/osg/Makefile, src/osgPlugins/osg/LineWidth.cpp, + src/osgPlugins/osg/Makefile: Added support for glLineWidth via an + osg::LineWidth StateAttribute. + +2001-12-20 11:35 robert + + * include/osg/Camera, src/osg/Camera.cpp, + src/osgUtil/RenderStage.cpp, src/osgUtil/SceneView.cpp, + src/osgUtil/TrackballManipulator.cpp: Updates to the camera code + related to stereo, adding fusion distance. + +2001-12-20 11:34 robert + + * src/Demos/: hangglide/hangglide.cpp, osgimpostor/osgimpostor.cpp, + osgviews/osgviews.cpp, sgv/sgv.cpp: Added check for null models be + returned form osgDB::readNodeFiles(..) to prevent execution when no + models have been loaded. + +2001-12-20 07:12 robert + + * src/osgPlugins/flt/flt2osg.cpp: Updates to flt loading of light + points, from Brede Johansen. + +2001-12-19 10:20 robert + + * src/: osg/ColorMatrix.cpp, osgUtil/SceneView.cpp: Updates to + Stereo code. + +2001-12-19 05:29 robert + + * src/: Demos/osgcluster/osgcluster.cpp, Demos/osgcube/osgcube.cpp, + Demos/osgimpostor/osgimpostor.cpp, Demos/osgreflect/osgreflect.cpp, + Demos/osgtexture/osgtexture.cpp, Demos/osgviews/osgviews.cpp, + Demos/sgv/sgv.cpp, osg/VisualsSettings.cpp, osgDB/ReadFile.cpp, + osgGLUT/Viewer.cpp: Updated the demos to support the new + commandline handling of stereo and convinience functios for loading + libs and files. + +2001-12-19 03:49 robert + + * src/osg/ColorMatrix.cpp: Added check for GL_ARB_imaging extension + to osg;:ColorMatrix + +2001-12-18 20:10 robert + + * src/: osg/VisualsSettings.cpp, osgUtil/SceneView.cpp: Compilation + fixes under for Windows + +2001-12-18 19:38 robert + + * VisualStudio/osg/osg.dsp, + VisualStudio/osgPlugins/osg/dot_osg.dsp, include/osg/ColorMatrix, + include/osg/State, include/osg/StateAttribute, + include/osg/Viewport, include/osg/VisualsSettings, + include/osgDB/ReadFile, include/osgDB/Registry, + include/osgGLUT/Viewer, include/osgUtil/SceneView, + include/osgUtil/VisualsRequirementsVisitor, src/Demos/sgv/sgv.cpp, + src/osg/ColorMatrix.cpp, src/osg/Makefile, + src/osg/VisualsSettings.cpp, src/osgDB/ReadFile.cpp, + src/osgDB/Registry.cpp, src/osgGLUT/Viewer.cpp, + src/osgPlugins/osg/ColorMatrix.cpp, src/osgPlugins/osg/Makefile, + src/osgPlugins/osg/TexMat.cpp, src/osgUtil/SceneView.cpp, + src/osgUtil/VisualsRequirementsVisitor.cpp: Adding support for + controlling visual settings via environmental variables and command + line paramters. Including support for stereo and stencil buffer. + +2001-12-18 06:28 robert + + * src/osg/Camera.cpp: Added range checking to + osg::Camera::adjustAspectRatio to catch invalid values being passed + to Camera. Invalid values were occuring when iconising the Windows + GLUT based OSG demos. + +2001-12-18 05:46 robert + + * src/osgPlugins/flt/: GeoSetBuilder.cpp, GeoSetBuilder.h: Fixed + compilation problems in flt plugin under Windows, and removed usage + of the default GeoSet::AtttributeDeleteFunctor from the DynGeoSet + since it handled the memory deletion iteself via STL containers. + +2001-12-17 16:13 robert + + * src/osg/Camera.cpp: Changed the default field of Y to 45 degrees, + as this is probably a better default than 30 degrees (what it was + temproarily) or the 90 degrees that it was originally. + +2001-12-17 12:34 don + + * src/osgPlugins/: Makefile, flt/FltFile.cpp, flt/Makefile, + flt/ReaderWriterATTR.cpp: Fixed IRIX compile issues with the flt + loader. + + ReaderWriterATTR.cpp had a variable "mips" defined, which is + predefined for the IRIX preprocessor. Changed this to _mips. + + FltFile.cpp had a class and transient variable defined within the + scope of member function FltFile::readExternals(), which was + causing the IRIX 7.3 compiles to hork. Moved the class definition + to outside of the member function scope. + +2001-12-17 11:21 don + + * src/: Demos/osgcluster/osgcluster.cpp, Demos/osgtext/Makefile, + Demos/osgtexture/osgtexture.cpp, osgPlugins/Makefile, + osgPlugins/flt/GeoSetBuilder.cpp, osgPlugins/gif/Makefile, + osgPlugins/png/Makefile, osgText/Makefile: Fixed IRIX build. + Required some namespace fixes and include and link directives in + the Makefiles + +2001-12-17 10:05 robert + + * AUTHORS, include/osgUtil/Optimizer, + src/osgPlugins/osg/Transform.cpp, src/osgUtil/Optimizer.cpp: + Updated the Optimzer::FatternStaticTransform visit so by default it + ignores all dynamic transforms, previously it flattened dynamic + transforms as well. + +2001-12-17 04:29 robert + + * src/osgUtil/CullVisitor.cpp: Added std:: infront of endl to + ensure compilation under Windows. + +2001-12-16 17:20 robert + + * NEWS, include/osgUtil/CullVisitor, src/osgUtil/CullVisitor.cpp, + src/osgUtil/SceneView.cpp: Integrated detailed near clipping plane + calculation into osgUtil::CullVisitor, submitted by Sasa + Bistroviae. + +2001-12-16 11:30 robert + + * src/osg/Timer.cpp: From John Davis, a little addition to the + Windows version of the osg::Timer constructor such that a static + variable is used to force the constructor to check the number of + clock cycles per second once, this means that multiple timers can + now be created with incurring a the 1 second delay used for timming + the clock speed every time the constructor is called. + +2001-12-15 17:44 robert + + * Makefile, src/osg/Version.cpp, src/osgDB/Version.cpp, + src/osgGLUT/Version.cpp, src/osgText/Version.cpp, + src/osgUtil/Version.cpp, src/osgWX/Version.cpp: Updated version + numbers to 0.8.43 in prep for the impending release. + +2001-12-15 17:41 robert + + * INSTALL: Added comments on how to set up STLport under Windows + and IRIX. + +2001-12-15 11:56 robert + + * include/osg/Matrix, include/osg/Transform, + include/osgUtil/CullVisitor, src/Demos/osgcluster/osgcluster.cpp, + src/Demos/osgconv/OrientationConverter.cpp, src/osg/Billboard.cpp, + src/osg/Camera.cpp, src/osg/Matrix.cpp, src/osg/Transform.cpp, + src/osgPlugins/flt/FltFile.cpp, src/osgPlugins/flt/flt2osg.cpp, + src/osgPlugins/osg/Transform.cpp, src/osgUtil/Optimizer.cpp: + Renamed osg::Matric::makeIdent() to osg::Matrix::makeIdentity() to + make it consistent with the rest of the osg::Matrix naming. + Updated OSG distribution to account for new name. + + Added support for the STATIC/DYNAMIC osg::Transform::Type to the + .osg ASCII reader/writer plugin and the flt reader plugin. + + Removed the non cost version of osg::Transform::getMatrix() as this + could by pass the dirty mechinism. + +2001-12-15 05:00 robert + + * src/: osgPlugins/osg/Matrix.cpp, osgPlugins/osg/Node.cpp, + osgPlugins/osg/Point.cpp, osgPlugins/osg/PolygonMode.cpp, + osgPlugins/osg/PolygonOffset.cpp, + osgPlugins/osg/ReaderWriterOSG.cpp, osgPlugins/osg/StateSet.cpp, + osgPlugins/osg/Stencil.cpp, osgPlugins/osg/Switch.cpp, + osgPlugins/osg/TexEnv.cpp, osgPlugins/osg/TexGen.cpp, + osgPlugins/osg/TexMat.cpp, osgPlugins/osg/Texture.cpp, + osgPlugins/osg/Transparency.cpp, + osgPlugins/rgb/ReaderWriterRGB.cpp, osgUtil/CullVisitor.cpp, + osgUtil/DriveManipulator.cpp, osgUtil/FlightManipulator.cpp, + osgUtil/IntersectVisitor.cpp, osgUtil/NvTriStripObjects.cpp, + osgUtil/Optimizer.cpp, osgUtil/RenderStage.cpp, + osgUtil/SceneView.cpp, osgUtil/Tesselator.cpp, + osgUtil/TriStripVisitor.cpp: updates for windows build. + +2001-12-14 18:17 robert + + * include/osg/BoundsChecking, include/osg/Matrix, + include/osg/Plane, include/osg/Quat, include/osg/Vec3, + include/osgDB/FieldReaderIterator, include/osgDB/Output, + include/osgGLUT/Viewer, include/osgUtil/CullVisitor, + src/Demos/hangglide/GliderManipulator.cpp, + src/Demos/hangglide/hangglide.cpp, src/Demos/osgconv/osgconv.cpp, + src/Demos/osgimpostor/osgimpostor.cpp, + src/Demos/osgreflect/osgreflect.cpp, + src/Demos/osgviews/osgviews.cpp, src/Demos/sgv/sgv.cpp, + src/osg/Camera.cpp, src/osg/ClipPlane.cpp, src/osg/Drawable.cpp, + src/osg/GLExtensions.cpp, src/osg/GeoSet.cpp, src/osg/Image.cpp, + src/osg/ImpostorSprite.cpp, src/osg/Material.cpp, + src/osg/Matrix.cpp, src/osg/Notify.cpp, src/osg/PolygonMode.cpp, + src/osg/Quat.cpp, src/osg/TexGen.cpp, src/osg/Texture.cpp, + src/osgDB/DynamicLibrary.cpp, src/osgDB/FieldReader.cpp, + src/osgDB/FieldReaderIterator.cpp, src/osgDB/FileUtils.cpp, + src/osgDB/Output.cpp, src/osgDB/ReadFile.cpp, + src/osgDB/Registry.cpp, src/osgDB/WriteFile.cpp, + src/osgGLUT/Viewer.cpp, src/osgGLUT/Window.cpp, + src/osgPlugins/flt/FltFile.cpp, src/osgPlugins/flt/Input.cpp, + src/osgPlugins/flt/ReaderWriterATTR.cpp, + src/osgPlugins/flt/Record.cpp, + src/osgPlugins/flt/VertexPoolRecords.cpp, + src/osgPlugins/flt/VertexPoolRecords.h, + src/osgPlugins/flt/flt2osg.cpp, + src/osgPlugins/lib3ds/ReaderWriter3DS.cpp, + src/osgPlugins/lwo/ReaderWriterLWO.cpp, + src/osgPlugins/obj/ReaderWriterOBJ.cpp, + src/osgPlugins/osg/AlphaFunc.cpp, src/osgPlugins/osg/Billboard.cpp, + src/osgPlugins/osg/ClipPlane.cpp, src/osgPlugins/osg/ColorMask.cpp, + src/osgPlugins/osg/CullFace.cpp, src/osgPlugins/osg/Depth.cpp, + src/osgPlugins/osg/Drawable.cpp, src/osgPlugins/osg/EarthSky.cpp, + src/osgPlugins/osg/Fog.cpp, src/osgPlugins/osg/FrontFace.cpp, + src/osgPlugins/osg/GeoSet.cpp, src/osgPlugins/osg/Geode.cpp, + src/osgPlugins/osg/Group.cpp, src/osgPlugins/osg/Impostor.cpp, + src/osgPlugins/osg/LOD.cpp, src/osgPlugins/osg/Light.cpp, + src/osgPlugins/osg/Material.cpp: Fixes to Windows build in liu of + the move to using just std::streams. + +2001-12-14 16:48 robert + + * INSTALL, Make/makedefs.irix.nonstd, include/osg/Matrix, + include/osg/Notify, include/osg/Vec2, include/osg/Vec3, + include/osg/Vec4, include/osgDB/FieldReader, include/osgDB/Output, + include/osgGLUT/Viewer, src/Demos/sgv/sgv.cpp, + src/osgPlugins/flt/OldVertexRecords.h, + src/osgPlugins/flt/ReaderWriterATTR.cpp, + src/osgPlugins/flt/Record.h, + src/osgPlugins/flt/VertexPoolRecords.h, src/osgPlugins/flt/flt.h: + Updated OSG so that the old OSG_USE_IO_DOT_H has be removed from + all headers that used it, all references to the Standard C++ stream + classes use the std::ostream etc convention, all references to + "using namespace std" and "using namespace std::ostream etc" have + been removed. + +2001-12-14 13:06 robert + + * include/osg/Camera, include/osg/Export, include/osg/Math, + include/osgDB/Export, include/osgGLUT/Export, + include/osgText/Export, include/osgUtil/Export, + include/osgWX/Export, src/osgText/FTGL.h: Updatedwidley used + includes to remove most of the float/double warnings generated when + compiling under Windows with STLport. + +2001-12-14 11:15 robert + + * VisualStudio/VisualStudio.dsw: Don haved accidentally removed the + reference to osg.dsp from the .dsw file, breakin the Windows build. + +2001-12-14 10:37 don + + * src/osgPlugins/flt/Makefile: Removed ^M from Makefile + +2001-12-14 10:16 don + + * VisualStudio/: VisualStudio.dsw, Demos/hangglide/hangglide.dsp, + Demos/osgTextDemo/osgTextDemo.dsp, Demos/osgconv/osgconv.dsp, + Demos/osgcube/osgcube.dsp, Demos/osgimpostor/osgimpostor.dsp, + Demos/osgreflect/osgreflect.dsp, Demos/osgtexture/osgtexture.dsp, + Demos/osgviews/osgviews.dsp, Demos/sgv/sgv.dsp, + Demos/wxsgv/wxsgv.dsp, osgDB/osgDB.dsp, osgGLUT/osgGLUT.dsp, + osgPlugins/bmp/bmp.dsp, osgPlugins/dw/dw.dsp, + osgPlugins/flt/flt.dsp, osgPlugins/gif/gif.dsp, + osgPlugins/jpeg/jpeg.dsp, osgPlugins/lib3ds/lib3ds.dsp, + osgPlugins/lwo/lwo.dsp, osgPlugins/obj/obj.dsp, + osgPlugins/osg/dot_osg.dsp, osgPlugins/osgtgz/osgtgz.dsp, + osgPlugins/pic/pic.dsp, osgPlugins/png/png.dsp, + osgPlugins/rgb/rgb.dsp, osgPlugins/tga/tga.dsp, + osgPlugins/tgz/tgz.dsp, osgPlugins/tiff/tiff.dsp, + osgPlugins/zip/zip.dsp, osgText/osgText.dsp, osgUtil/osgUtil.dsp, + osgWX/osgWX.dsp: Appeased poor MS VisualStudio by adding the ^M's + to all .dsw and .dsp files. + +2001-12-14 10:10 don + + * VisualStudio/osg/osg.dsp: Fixed newline/cr problem + +2001-12-14 09:25 robert + + * src/osgUtil/Optimizer.cpp: Fixed problem with incorrect combining + of some LOD's derived from flt databases. Problem related to the + order of the removal of redudent groups and LOD combining, the LOD + combining only working properly if done first. + +2001-12-14 05:47 robert + + * include/osgDB/FieldReader, + src/osgPlugins/flt/ReaderWriterATTR.cpp, + src/osgPlugins/osg/StateSet.cpp, src/osgPlugins/osg/Stencil.cpp: + Fixes for Win32 build related to changes in using namespace std. + +2001-12-14 05:02 robert + + * include/osgDB/FieldReader, include/osgDB/Output, + include/osgGLUT/Viewer, src/osgDB/DynamicLibrary.cpp, + src/osgPlugins/flt/Input.cpp, src/osgPlugins/flt/Record.cpp, + src/osgPlugins/flt/Registry.cpp, src/osgPlugins/lib3ds/quat.cpp, + src/osgPlugins/pfb/ConvertFromPerformer.cpp, + src/osgPlugins/pfb/ConvertToPerformer.cpp, + src/osgText/FTGLTextureFont.cpp, src/osgText/Makefile, + src/osgUtil/CullVisitor.cpp, src/osgUtil/IntersectVisitor.cpp: + Removed all references to using namespace std to help solve + compilation problems under Windows and IRIX. + + Also integrated small change to lib3ds from Drew for IRIX + compilation. + +2001-12-12 15:29 robert + + * include/osg/Math, include/osg/Matrix, include/osg/Quat, + include/osg/Transform, src/Demos/hangglide/GliderManipulator.cpp, + src/Demos/osgcluster/osgcluster.cpp, + src/Demos/osgconv/OrientationConverter.cpp, + src/Demos/osgcube/osgcube.cpp, src/Demos/osgreflect/osgreflect.cpp, + src/Demos/osgtexture/osgtexture.cpp, src/osg/Billboard.cpp, + src/osg/Camera.cpp, src/osg/Matrix.cpp, src/osg/Quat.cpp, + src/osg/Transform.cpp, src/osgPlugins/flt/flt2osg.cpp, + src/osgPlugins/obj/ReaderWriterOBJ.cpp, + src/osgUtil/DriveManipulator.cpp, + src/osgUtil/FlightManipulator.cpp, + src/osgUtil/TrackballManipulator.cpp, + src/osgUtil/TransformCallback.cpp: Made the following name changes + to Matrix and Quat to clean them up and make the functionality + clear given the name. This will break user code unfortunately so + please be away of the following mapping. + + osg::Matrix::makeTrans(..) -> osg::Matrix::makeTranslate(..) + osg::Matrix::makeRot(..) -> osg::Matrix::makeRotate(..) + osg::Matrix::trans(..) -> osg::Matrix::translate(..) + + osg::Quat::makeRot(..) -> osg::Quat::makeRotate(..) + + Also updated the rest of the OSG distribution to use the new names, + and have removed the old deprecated Matrix methods too. + +2001-12-12 10:09 robert + + * src/osg/: Matrix.cpp, Quat.cpp: Fixed problems with + osg::Matrix::makeRot(from,to) and osg::Quat::makeRot(from,to) so + that they both use the same implementation (the Quat code now) and + the code has been corrected to work from and to vectors which + directly opposite to one another. + +2001-12-12 07:54 robert + + * NEWS, include/osg/GeoSet, src/osgDB/FieldReaderIterator.cpp, + src/osgPlugins/osg/GeoSet.cpp: Fixed problem with loading + interleaved arrays in the .osg loader, and corrected a spelling + mistake in osg::GeoSet. + +2001-12-12 00:09 don + + * src/Demos/osgconv/: OrientationConverter.cpp, + OrientationConverter.h, osgconv.cpp: Added translation and scaling + to osgconv + +2001-12-11 12:00 don + + * src/osg/Matrix.cpp: Fixed Matrix::rotate( Vec3 from, Vec3 to); + was using to X from to derive axis, which causes a left-handed + rotation. Fixed to from X to. + +2001-12-11 11:00 robert + + * include/osg/Matrix, include/osg/Notify, + src/osgUtil/SceneView.cpp, src/osgUtil/TriStripVisitor.cpp: Fixed + compilation problems under Windows due to changes in using + std::ostream etc. + +2001-12-11 06:22 robert + + * include/osg/: Matrix, Notify, Vec2, Vec3, Vec4: Removed the + 'using namespace std' and replaced with more specific 'using + std::ostream' this should help prevent polution of the global + namespace with std when including these osg include files. + +2001-12-11 06:21 robert + + * src/osg/Camera.cpp: Added :Referenced() to the osg::Camera(..) + copy constructor to prevent a warning under Linux. + +2001-12-08 22:46 don + + * src/osg/GeoSet.cpp: [no log message] + +2001-12-04 17:57 robert + + * include/osg/GeoSet, src/osg/GeoSet.cpp, + src/osgPlugins/obj/ReaderWriterOBJ.cpp: Added support for automatic + deletion of osg::GeoSet's attributes, via a default + AttributeDeleteFunctor which uses delete []. Users can create + their own handlers for the attribute memory to override this + default behavior. + + Fixed a typo in ReaderWriterOBJ.cpp. + +2001-12-04 15:38 robert + + * VisualStudio/osgPlugins/flt/flt.dsp, include/osg/Image, + include/osg/Texture, include/osgUtil/SceneView: Various files which + should have been checked in earlier but were missed... + VisualStudio files for flt loader, and header files or Image and + Texture for new osg::Texture::CLAMP_TO_EDGE and osg::Image::dirty. + +2001-12-04 14:41 robert + + * src/osgPlugins/flt/GeoSetBuilder.h: Updates to the flt loader, + from Brede Johansen. + +2001-12-04 11:03 robert + + * src/osgPlugins/flt/: ColorPaletteRecord.cpp, + ColorPaletteRecord.h, ExternalRecord.cpp, ExternalRecord.h, + FaceRecord.cpp, FaceRecord.h, FltFile.cpp, FltFile.h, + GeoSetBuilder.cpp, GeoSetBuilder.h, HeaderRecord.cpp, + HeaderRecord.h, Input.cpp, Input.h, Makefile, Pool.cpp, Pool.h, + ReaderWriterATTR.cpp, Record.cpp, Record.h, Registry.cpp, + Registry.h, TextureMappingPaletteRecord.h, TexturePaletteRecord.h, + VertexPoolRecords.h, flt.cpp, flt.h, flt2osg.cpp, flt2osg.h, + opcodes.h: Integrated Brede Johansen's updates to flt loader. + +2001-12-04 10:56 robert + + * src/osgPlugins/obj/ReaderWriterOBJ.cpp: Made a output message + output as osg::DEBUG only. + +2001-12-04 07:34 robert + + * src/Demos/sgv/sgv.cpp: Commented out the code to force sgv to use + ANAGLYPHIC_STEREO as this should not be the default, will add + options to do this later. + +2001-12-04 07:31 robert + + * src/: Demos/osgtexture/osgtexture.cpp, Demos/sgv/sgv.cpp, + osg/Camera.cpp, osg/Texture.cpp, osgPlugins/osg/Texture.cpp, + osgPlugins/pfb/ReaderWriterPFB.cpp, osgUtil/SceneView.cpp: Improved + support for anaglyphic stereo. + + Integrated texture CLAMP_TO_EDGE, submitted by Ulrich Hertlein. + +2001-12-02 17:20 robert + + * include/osg/Camera, include/osgUtil/RenderStage, + include/osgUtil/SceneView, src/osg/Camera.cpp, + src/osgGLUT/Viewer.cpp, src/osgText/Paragraph.cpp, + src/osgUtil/RenderStage.cpp, src/osgUtil/SceneView.cpp: Beginings + of support for quad bufferd, red/green, and slit screen stereo. + +2001-12-02 03:59 don + + * include/osg/: GLU, Matrix: Corrected a small booboo in + preprocessor guard for header file in GLU and added + Matrix::identity() to Matrix + +2001-11-30 15:53 robert + + * src/osg/StateSet.cpp: Fixed bug in osg::StateSet::merge(..) where + the containers were being iterated from begin() to begin() rather + than begin() to end(). + +2001-11-21 10:53 don + + * src/osg/Camera.cpp, include/osg/Camera: Small fix for + preprocessor _MP symbol clash with MFC. + +2001-11-19 08:14 robert + + * src/osgText/Font.cpp: Made the Warning font file not found + message consistent with other file not found messages. + +2001-11-19 06:52 robert + + * include/osgUtil/Optimizer: Added DLL export to the internal + classes in osgUtil::Optimize so that the internal classes can be + used directly by client applications. + +2001-11-19 05:40 robert + + * src/osgText/Font.cpp: Added warning report for when a font file + cannot be found. + +2001-11-18 16:31 robert + + * include/osg/Image, src/osg/Image.cpp: Added + osg::Image::dirtyImage() and setModifiedTag() to allow external + updating of the image modified flag to be used in conjunction with + texture subloading. + +2001-11-15 06:59 robert + + * src/osgGLUT/Viewer.cpp: Move the call to the manipulators before + the scene app traversal to that any changes to the scene graph, + such as adding an app callback can be seen by during the same + frame. + +2001-11-14 10:53 robert + + * src/Demos/osgtext/main.cpp: Fixes for windows compilation + +2001-11-14 10:52 robert + + * src/Demos/osgtext/main.cpp: Fixed compilation problem under + Wndows + +2001-11-14 10:32 robert + + * include/osg/Math: Fixed compilation problem under Wndows + +2001-11-14 09:10 robert + + * include/osgUtil/TransformCallback, + src/osgUtil/TransformCallback.cpp: Added osgUtil::TransformCallback + to help with rigid body animation. + +2001-11-14 09:08 robert + + * VisualStudio/osgUtil/osgUtil.dsp, include/osg/Math, + include/osg/Matrix, include/osg/Transform, + include/osgDB/ReaderWriter, include/osgText/Paragraph, + include/osgUtil/SceneView, src/Demos/osgcube/osgcube.cpp, + src/Demos/osgreflect/osgreflect.cpp, src/Demos/osgtext/main.cpp, + src/Demos/osgtexture/osgtexture.cpp, src/osg/Transform.cpp, + src/osgGLUT/Viewer.cpp, src/osgPlugins/dw/ReaderWriterDW.cpp, + src/osgPlugins/obj/ReaderWriterOBJ.cpp, + src/osgPlugins/pfb/ReaderWriterPFB.cpp, src/osgText/Font.cpp, + src/osgText/Makefile, src/osgText/Paragraph.cpp, + src/osgText/Text.cpp, src/osgUtil/Makefile, + src/osgUtil/SceneViewManipulator.cpp: Fixes for IRIX build. + + Updates to the osg::Transform, adding preMult and postMult methods + and deprecating the old preRotate,preTranslate,preScale. + + Updated the rest of the OSG so that it nolonger uses the deprecated + osg::Transform nodes. + + Renamed osgUtil::SceneView::setGlobalState() to + osgUtil::SceneView::setGlobalStateSet() so that the name reflects + its functionality better. Updated osgGLUT::Viewer etc to cope with + new name change. + +2001-11-12 05:04 robert + + * include/osgText/Font, include/osgText/Paragraph, + src/osgText/Font.cpp, src/osgText/Paragraph.cpp: Added new files to + cvs. + +2001-11-12 05:00 robert + + * src/osg/NodeCallback.cpp: Added src/osg/NodeCallback.cpp. + +2001-11-11 17:32 robert + + * VisualStudio/osg/osg.dsp, include/osg/Matrix, + include/osg/NodeCallback, include/osg/ref_ptr, + src/Demos/osgcube/osgcube.cpp, src/Demos/osgreflect/osgreflect.cpp, + src/osg/Makefile, src/osg/Matrix.cpp, src/osgDB/FileUtils.cpp: + Fixed compilation error in src/osgDB/FileUtils.cpp. + + Added support for nested NodeCallbacks, allowing them to be chained + together so that multiple operations can be applied. + +2001-11-10 10:46 robert + + * src/osgUtil/Optimizer.cpp: Fixed + osgUtil::Optimizer::FlatternStaticTransformsVisitor so that the + apply(osg::LOD) scaled the ranges in addition to transform the + center point and children. + +2001-11-10 08:36 robert + + * src/osgUtil/Optimizer.cpp: Fixed bug related to + osgUtil::Optimizer::FlatternStaticTransform::Visitor's + apply(Billboard& ) method which was apply the accumulated transform + to the billbaord geometry when it should have been applying the + matrix without the transform component. + +2001-11-09 10:05 robert + + * VisualStudio/osgText/osgText.dsp, include/osg/Node, + include/osgText/Text, src/osg/Node.cpp, src/osgPlugins/osg/README, + src/osgText/Makefile, src/osgText/Text.cpp: Added + osgText::Paragraph which is a subclass from Geode which composes a + list of text drawables as a paragraph block, handles breaking of + text into individual lines automatically. + + Changed the osg::Node::setUserData so that the data type has to be + an osg::Referenced, and removes the dependancy on + osg::MemoryAdapter. I have done this since it simplifies the OSG + side of the interface and makes it less like that the user might + abuse the memory managment of the data. It does however mean that + user data will have by subclassed from Referenced, and therefor may + require users to have their own adapter to do this. However, this + little nuasance is worth the extra cleaness and robustness afforded + by going the osg::Referenced route. + +2001-11-09 10:01 robert + + * src/osgDB/FileUtils.cpp: Fixed the findFileFile routine which had + been broken by a fix of a dlopen problem - './' was added to all + files which which directly found without requiring a search path + rather than just locally found files, this broke file loads which + had wern't local but had a valid path. I have moved the './' work + around to inside fileDSO and made it only apply to Linux as I + presume this is all it was needed for. Don? + +2001-11-08 08:50 robert + + * src/osgUtil/IntersectVisitor.cpp: Fixed the IntersectVisitor + which was broken by a recent patch to catch parallel line and + traingle combinations. + +2001-11-07 07:42 robert + + * src/: Demos/osgtext/main.cpp, osgText/Text.cpp, + osgUtil/IntersectVisitor.cpp, osgUtil/Optimizer.cpp: Added a + dirtyBound() to osgUtil::Optimizer. Corrected mispelling of + alignment is osg::Text and the osgtext demo. Added guards for + divide bu zero's to osg::IntersectVisitor. + +2001-11-06 06:36 robert + + * include/osg/BoundingBox: Fixed inlcude/BoundingBox to compile + under Windows. + +2001-11-06 06:07 robert + + * include/osg/Math: Fixed inlcude/Math to compile under Windows. + +2001-11-06 05:34 robert + + * include/osg/BoundingBox, include/osg/BoundingSphere, + include/osg/LineSegment, include/osg/Math, include/osg/Vec2, + include/osg/Vec3, include/osg/Vec4, + src/osgUtil/IntersectVisitor.cpp: Added methods to support + isNaN,isInfinte and valid to osg::Vec* and osg::Math, and added a + guard to IntersectVisitor which uses these new methods to prevent + invalid segments being added. + +2001-11-04 14:29 robert + + * include/osg/Statistics, include/osgUtil/RenderBin, + include/osgUtil/RenderStage, src/osgGLUT/Viewer.cpp, + src/osgUtil/RenderBin.cpp, src/osgUtil/RenderStage.cpp: Integrated + updates to stats sent in my Geoff Michel. + +2001-11-02 16:20 don + + * src/osgDB/FileUtils.cpp: Fixed findFileInPath to prepend ./ if + file is in local directory. This was needed by dlopen() for dso's + in the current directory + +2001-11-02 15:11 robert + + * Makefile, Make/makedefs.freebsd, Make/makedefs.irix.nonstd, + Make/makedefs.irix.std, Make/makedefs.linux, Make/makedefs.macosx, + include/osg/Matrix, include/osg/Node, include/osg/Object, + include/osgText/Text, src/Makefile, src/Demos/Makefile, + src/osg/Makefile, src/osgGLUT/Makefile, src/osgText/Text.cpp: + Updates to Makefiles to include osgText. Also a couple of + undefined methods in osgText::Text have been added. + +2001-11-02 07:26 robert + + * index.html, include/osg/Drawable, src/osgPlugins/Makefile: + Updated index.html with dependacy info about the new osgText + library. Modified osg/Drawable::draw(..) so that it uses display + list COMPILE rather than COMPILE_AND_EXECUTE to solve performance + problems under NVidia drivers. The old behavior is still available + by comments out a #define. Fixed the default compilation list + src/osgPlugins/Makefile so that it compiles by defalt png and gif. + +2001-11-01 11:35 robert + + * src/osgPlugins/flt/: ColorPaletteRecord.cpp, DofRecord.h, + ExtensionRecord.h, FaceRecord.cpp, FaceRecord.h, FltFile.cpp, + FltFile.h, GeoSetBuilder.cpp, GeoSetBuilder.h, GroupRecord.h, + HeaderRecord.cpp, HeaderRecord.h, Input.cpp, LodRecord.h, + MaterialPaletteRecord.h, ObjectRecord.h, + OldMaterialPaletteRecord.h, OldVertexRecords.h, Pool.cpp, Pool.h, + ReaderWriterFLT.cpp, Record.h, Registry.cpp, Registry.h, + SwitchRecord.h, TextureMappingPaletteRecord.h, + TexturePaletteRecord.h, TransformationRecords.h, + VertexPoolRecords.h, flt.h, flt2osg.cpp, flt2osg.h: Updates to the + flt loader from Brede Johansen. + +2001-11-01 10:13 robert + + * src/osgText/: FTGLTextureFont.cpp, FTGlyphContainer.cpp, + Text.cpp: Updates to osgText to fix a crash on ikart.tff font + available under Linux, the bug was related to texel padding of the + height not be accounted for in texture size calculation, but was + used during populating the image data causing a mismatch. + +2001-10-31 17:35 robert + + * src/osgPlugins/lib3ds/config.h: Added missing config.h file to + src/osgPlugins/lib3ds. + +2001-10-31 15:04 robert + + * include/osg/StateSet, src/osg/StateSet.cpp: Added a bool paramter + to osg::StateSet::compare(const StateSet& rhs,bool + compareAttributeContents=false) const; to allow it to use different + comparison schemes, now it can use checking for pointer equality + (the default) or attribute contexts. This has been added to assist + optimization of databases within the flt loader, but also could be + useful for other operations too. + +2001-10-31 13:33 robert + + * src/osgPlugins/lib3ds/: Makefile, ReaderWriter3DS.cpp, + atmosphere.cpp, atmosphere.h, background.cpp, background.h, + camera.cpp, camera.h, chunk.cpp, chunk.h, chunktable.h, ease.cpp, + ease.h, file.cpp, file.h, lib3ds_float.cpp, lib3ds_float.h, + light.cpp, light.h, material.cpp, material.h, matrix.cpp, matrix.h, + mesh.cpp, mesh.h, node.cpp, node.h, quat.cpp, quat.h, + readwrite.cpp, readwrite.h, shadow.cpp, shadow.h, tcb.cpp, tcb.h, + tracks.cpp, tracks.h, types.h, vector.cpp, vector.h, viewport.cpp, + viewport.h: Updated the lib3ds plugin with the new 1.1 version of + lib3ds. + +2001-10-31 07:27 robert + + * AUTHORS, include/osgText/Text, src/osgText/FTGL.h, + src/osgText/FTSize.cpp: Update to osgText to get things compiling + under Windows. + +2001-10-31 06:41 robert + + * VisualStudio/osgText/osgText.dsp: Update osgText.dsp to define + FTGL_STATICLIBRARY to prevent it compiling the as a seperate + library and producing linkage warnings. + +2001-10-31 05:20 robert + + * VisualStudio/osgText/osgText.dsp, src/osgText/FTCharmap.cpp, + src/osgText/FTFace.cpp, src/osgText/FTFont.h, src/osgText/FTGL.h, + src/osgText/FTGLBitmapFont.cpp, src/osgText/FTGLBitmapFont.h, + src/osgText/FTGLOutlineFont.cpp, src/osgText/FTGLOutlineFont.h, + src/osgText/FTGLPixmapFont.cpp, src/osgText/FTGLPixmapFont.h, + src/osgText/FTGLPolygonFont.cpp, src/osgText/FTGLPolygonFont.h, + src/osgText/FTGLTextureFont.cpp, src/osgText/FTGLTextureFont.h, + src/osgText/FTGlyphContainer.cpp, src/osgText/FTGlyphContainer.h, + src/osgText/FTOutlineGlyph.cpp, src/osgText/FTPolyGlyph.cpp, + src/osgText/FTSize.cpp, src/osgText/FTTextureGlyph.cpp, + src/osgText/FTTextureGlyph.h, src/osgText/FTVectorGlyph.cpp, + src/osgText/FTVectorGlyph.h, src/osgText/FTVectoriser.cpp, + src/osgText/FTVectoriser.h, src/osgText/Makefile: Updated the FTGL + implemention in osgText to FTFL1.1. + +2001-10-30 14:23 robert + + * include/osgDB/Registry, src/Demos/hangglide/ReaderWriterFLY.cpp, + src/osg/Matrix.cpp, src/osgDB/Input.cpp, src/osgDB/ReadFile.cpp, + src/osgDB/Registry.cpp, src/osgDB/WriteFile.cpp: Further updates to + the ReaderWriter support in osgDB, and a fix to a small warning in + Matrix.cpp. + +2001-10-30 09:20 robert + + * include/osgDB/ReaderWriter, src/osgDB/Registry.cpp, + src/osgPlugins/bmp/ReaderWriterBMP.cpp, + src/osgPlugins/dw/ReaderWriterDW.cpp, + src/osgPlugins/flt/ReaderWriterFLT.cpp, + src/osgPlugins/flt/ReaderWriterFLT.h, + src/osgPlugins/gif/ReaderWriterGIF.cpp, + src/osgPlugins/jpeg/ReaderWriterJPEG.cpp, + src/osgPlugins/lib3ds/ReaderWriter3DS.cpp, + src/osgPlugins/lwo/ReaderWriterLWO.cpp, + src/osgPlugins/obj/ReaderWriterOBJ.cpp, + src/osgPlugins/osg/ReaderWriterOSG.cpp, + src/osgPlugins/osgtgz/ReaderWriterOSGTGZ.cpp, + src/osgPlugins/pfb/ReaderWriterPFB.cpp, + src/osgPlugins/pic/ReaderWriterPIC.cpp, + src/osgPlugins/png/ReaderWriterPNG.cpp, + src/osgPlugins/png/new_ReaderWriterPNG.cpp, + src/osgPlugins/png/prev_ReaderWriterPNG.cpp, + src/osgPlugins/rgb/ReaderWriterRGB.cpp, + src/osgPlugins/tga/ReaderWriterTGA.cpp, + src/osgPlugins/tgz/ReaderWriterTGZ.cpp, + src/osgPlugins/tiff/ReaderWriterTIFF.cpp, + src/osgPlugins/zip/ReaderWriterZIP.cpp: Added support for + ReadResult and WriteResult to the osgDB::ReaderWriter to allo + plugins to pass back more information about the success or failure + of a file load. All plugins have been updated to the new + convention. + +2001-10-29 14:29 robert + + * include/osg/Texture: Changed a #define ... (GLenum) 0x84fe to + 0x84FE to fix problems under MacOS9 build. + +2001-10-29 07:22 robert + + * src/Demos/osgtext/main.cpp: Ran to_unix over + src/Demos/osgtext/main.cpp to try and fix some return type problems + reported under Windows. + +2001-10-29 07:19 robert + + * src/osgText/Version.cpp: Added missing src/osgText/Version.cpp + file. + +2001-10-24 21:11 bryan + + * Metrowerks/Metrowerks.mcp: Imposter.cpp added to the project + +2001-10-24 20:49 bryan + + * src/osgGLUT/Viewer.cpp: Changed the int to a GLint because of the + differences within mac/win32/linux versions of gl.h. + +2001-10-24 20:45 bryan + + * Metrowerks/Metrowerks.mcp: sgv is almost working + +2001-10-24 19:15 robert + + * VisualStudio/VisualStudio.dsw, VisualStudio/osgText/osgText.dsp, + src/osgText/FTGL.h, src/osgText/FTVectorGlyph.cpp, + src/osgText/FTVectorGlyph.h: Completed work on osgText compilation + under Win32. We now have fonts under Wndows and Linux :-) + +2001-10-24 18:29 robert + + * VisualStudio/: Demos/osgTextDemo/osgTextDemo.dsp, + osgText/osgText.dsp: Updates to the visual studio files for + osgText. + +2001-10-24 15:48 robert + + * VisualStudio/VisualStudio.dsw, include/osgDB/FileUtils: Updates + of osgDB/FileUtils to fix compilation problems under Win32 + +2001-10-24 09:46 robert + + * VisualStudio/osgText/osgText.dsp, include/osgDB/FileUtils, + src/Demos/osgtext/main.cpp, src/osgDB/FileUtils.cpp, + src/osgText/Text.cpp: Updates to osgText. + +2001-10-24 08:53 robert + + * src/: osgDB/FileUtils.cpp, osgText/Makefile, osgText/Text.cpp: + Updates to osgText and osgDB so that the loading of text fonts can + use osgDB::findFile() to locate font files from the OSGFILEPATH + environmental variable. + +2001-10-24 05:41 robert + + * src/: Demos/osgtext/main.cpp, osgText/FTBitmapGlyph.cpp, + osgText/FTBitmapGlyph.h, osgText/FTCharmap.h, osgText/FTFace.h, + osgText/FTFont.h, osgText/FTGL.h, osgText/FTGLBitmapFont.cpp, + osgText/FTGLBitmapFont.h, osgText/FTGLOutlineFont.cpp, + osgText/FTGLOutlineFont.h, osgText/FTGLPixmapFont.cpp, + osgText/FTGLPixmapFont.h, osgText/FTGLPolygonFont.h, + osgText/FTGLTextureFont.cpp, osgText/FTGLTextureFont.h, + osgText/FTGlyph.h, osgText/FTGlyphContainer.h, + osgText/FTLibrary.cpp, osgText/FTLibrary.h, + osgText/FTOutlineGlyph.cpp, osgText/FTOutlineGlyph.h, + osgText/FTPixmapGlyph.cpp, osgText/FTPixmapGlyph.h, + osgText/FTPolyGlyph.cpp, osgText/FTPolyGlyph.h, osgText/FTSize.h, + osgText/FTTextureGlyph.cpp, osgText/FTTextureGlyph.h, + osgText/FTVectorGlyph.cpp, osgText/FTVectorGlyph.h, + osgText/FTVectoriser.h, osgText/Makefile: Updated FTGL version to + 1.0 and removed a couple of warnings in the osgText demo. + +2001-10-24 05:08 robert + + * include/osgText/Text, src/Demos/osgtext/main.cpp: Updated the + osgText implemention, now works under Linux. + +2001-10-23 19:23 don + + * src/osgPlugins/pfb/stat.c: Added stat.c + +2001-10-23 19:15 don + + * Make/makedefs.linux: One last change needed to makedefs.linux to + sync Linux and Irix pfb loader + +2001-10-23 19:10 don + + * Make/makedefs.irix.nonstd, Make/makedefs.irix.std, + Make/makerules.irix, src/osgPlugins/Makefile, + src/osgPlugins/pfb/Makefile: Fixed pfb loader functionality for + IRIX + +2001-10-23 18:59 don + + * Make/makedefs.linux, Make/makerules.linux, + src/Demos/sgv/Makefile, src/osgPlugins/pfb/Makefile, + src/osgPlugins/pfb/ReaderWriterPFB.cpp: Fixed pfb loader so that it + works for both Linux and IRix with dynamic libraries, and provides + support to load (almost) all that Performer loads. + +2001-10-23 18:28 robert + + * src/: Demos/osgtext/Makefile, Demos/osgtext/main.cpp, + osgText/Makefile: Further work on getting osgText compiling. + +2001-10-23 18:12 robert + + * src/osgText/: FTBitmapGlyph.cc, FTCharmap.cc, FTFace.cc, + FTFont.cc, FTGLBitmapFont.cc, FTGLOutlineFont.cc, + FTGLPixmapFont.cc, FTGLPolygonFont.cc, FTGLTextureFont.cc, + FTGlyph.cc, FTGlyphContainer.cc, FTLibrary.cc, FTOutlineGlyph.cc, + FTPixmapGlyph.cc, FTPolyGlyph.cc, FTSize.cc, FTTextureGlyph.cc, + FTVectoriser.cc: Removed old .cc versions of FT font code. + +2001-10-23 18:09 robert + + * src/osgText/: FTBitmapGlyph.cpp, FTCharmap.cpp, FTFace.cpp, + FTFont.cpp, FTGLBitmapFont.cpp, FTGLOutlineFont.cpp, + FTGLPixmapFont.cpp, FTGLPolygonFont.cpp, FTGLTextureFont.cpp, + FTGlyph.cpp, FTGlyphContainer.cpp, FTLibrary.cpp, + FTOutlineGlyph.cpp, FTPixmapGlyph.cpp, FTPolyGlyph.cpp, FTSize.cpp, + FTTextureGlyph.cpp, FTVectoriser.cpp: Adding in new .cpp versions + of FT font code. + +2001-10-23 18:08 robert + + * Make/makedefs.linux, include/osgText/Version, + src/osgText/Makefile, src/osgText/Text.cpp: Updates to the new + osgText library to get it to compile under Linux. + +2001-10-23 16:04 robert + + * src/osgText/: FTBitmapGlyph.cc, FTBitmapGlyph.h, FTCharmap.cc, + FTCharmap.h, FTFace.cc, FTFace.h, FTFont.cc, FTFont.h, FTGL.h, + FTGLBitmapFont.cc, FTGLBitmapFont.h, FTGLOutlineFont.cc, + FTGLOutlineFont.h, FTGLPixmapFont.cc, FTGLPixmapFont.h, + FTGLPolygonFont.cc, FTGLPolygonFont.h, FTGLTextureFont.cc, + FTGLTextureFont.h, FTGlyph.cc, FTGlyph.h, FTGlyphContainer.cc, + FTGlyphContainer.h, FTLibrary.cc, FTLibrary.h, FTOutlineGlyph.cc, + FTOutlineGlyph.h, FTPixmapGlyph.cc, FTPixmapGlyph.h, + FTPolyGlyph.cc, FTSize.cc, FTSize.h, FTTextureGlyph.cc, + FTVectoriser.cc, FTVectoriser.h: Converted FTGL files from mac + style return to unix style. + +2001-10-23 15:51 robert + + * VisualStudio/Demos/osgTextDemo/osgTextDemo.dsp, + VisualStudio/osgText/osgText.dsp, include/osgText/Export, + include/osgText/Text, src/Demos/osgtext/main.cpp, + src/osgText/FTBitmapGlyph.cc, src/osgText/FTBitmapGlyph.h, + src/osgText/FTCharmap.cc, src/osgText/FTCharmap.h, + src/osgText/FTFace.cc, src/osgText/FTFace.h, src/osgText/FTFont.cc, + src/osgText/FTFont.h, src/osgText/FTGL.h, + src/osgText/FTGLBitmapFont.cc, src/osgText/FTGLBitmapFont.h, + src/osgText/FTGLOutlineFont.cc, src/osgText/FTGLOutlineFont.h, + src/osgText/FTGLPixmapFont.cc, src/osgText/FTGLPixmapFont.h, + src/osgText/FTGLPolygonFont.cc, src/osgText/FTGLPolygonFont.h, + src/osgText/FTGLTextureFont.cc, src/osgText/FTGLTextureFont.h, + src/osgText/FTGlyph.cc, src/osgText/FTGlyph.h, + src/osgText/FTGlyphContainer.cc, src/osgText/FTGlyphContainer.h, + src/osgText/FTLibrary.cc, src/osgText/FTLibrary.h, + src/osgText/FTOutlineGlyph.cc, src/osgText/FTOutlineGlyph.h, + src/osgText/FTPixmapGlyph.cc, src/osgText/FTPixmapGlyph.h, + src/osgText/FTPolyGlyph.cc, src/osgText/FTPolyGlyph.h, + src/osgText/FTSize.cc, src/osgText/FTSize.h, + src/osgText/FTTextureGlyph.cc, src/osgText/FTTextureGlyph.h, + src/osgText/FTVectoriser.cc, src/osgText/FTVectoriser.h, + src/osgText/Makefile, src/osgText/Text.cpp: First past integrat of + Max Rhiener work on wrapping FTGL to create osgText library and + demo. + +2001-10-23 11:54 robert + + * VisualStudio/osgGLUT/osgGLUT.dsp, include/osgGLUT/Window, + src/osgGLUT/Makefile, src/osgGLUT/Window.cpp: Added new + osgGLUT::Window base class which is very basic right now, all it + does is bring up a GLUT window and provide virtual functions from + which users should subclass to add functionality. + +2001-10-22 18:02 robert + + * include/osg/Drawable, include/osg/GeoSet, + include/osg/ImpostorSprite, include/osg/State, + include/osg/StateSet, include/osg/Statistics, + include/osgGLUT/Viewer, include/osgUtil/RenderBin, + include/osgUtil/RenderStage, src/osg/GeoSet.cpp, + src/osg/ImpostorSprite.cpp, src/osg/State.cpp, + src/osg/StateSet.cpp, src/osgGLUT/Viewer.cpp, + src/osgUtil/RenderBin.cpp, src/osgUtil/RenderStage.cpp: Integrated + Geoff Michel's updates to Stats code, whilest move all text + rendering back in the viewer from the Statistics header. + + Added a osg::State::captureCurrentState(StateSet&) method and a + copy constructor to osg::StateSet. + +2001-10-21 17:27 robert + + * src/: osg/AlphaFunc.cpp, osg/BoundingBox.cpp, + osg/BoundingSphere.cpp, osg/CullFace.cpp, osg/EarthSky.cpp, + osg/Fog.cpp, osg/FrontFace.cpp, osg/GLExtensions.cpp, + osg/GeoSet.cpp, osg/GeoSet_ogl.cpp, osg/Geode.cpp, osg/Group.cpp, + osg/Impostor.cpp, osg/LOD.cpp, osg/Light.cpp, osg/LightSource.cpp, + osg/LineSegment.cpp, osg/Material.cpp, osg/Node.cpp, + osg/NodeVisitor.cpp, osg/Notify.cpp, osg/Object.cpp, osg/Point.cpp, + osg/PolygonMode.cpp, osg/PolygonOffset.cpp, osg/Quat.cpp, + osg/Switch.cpp, osg/TexEnv.cpp, osg/TexGen.cpp, osg/TexMat.cpp, + osg/Transform.cpp, osg/Transparency.cpp, osg/Version.cpp, + osgDB/DynamicLibrary.cpp, osgDB/FieldReader.cpp, + osgDB/FileNameUtils.cpp, osgDB/FileUtils.cpp, osgDB/ReadFile.cpp, + osgDB/Registry.cpp, osgDB/Version.cpp, osgDB/WriteFile.cpp, + osgGLUT/GLUTEventAdapter.cpp, osgGLUT/Version.cpp, + osgGLUT/Viewer.cpp, osgUtil/CullViewState.cpp, + osgUtil/DisplayListVisitor.cpp, osgUtil/DriveManipulator.cpp, + osgUtil/IntersectVisitor.cpp, osgUtil/RenderGraph.cpp, + osgUtil/Version.cpp, osgWX/Version.cpp, osgWX/WXEventAdapter.cpp: + Moved all #include "osg/.." references to #include to aid + port to MacOS. + +2001-10-20 16:26 robert + + * include/osgUtil/DisplayListVisitor, include/osgUtil/SceneView, + src/osgUtil/DisplayListVisitor.cpp, src/osgUtil/SceneView.cpp: + Added support for an osgUtil::SceneView::init() traversal which is + called once per scene view. The user can attach a NodeVisitor to + do init for them, or leave it to the default which is to use the + osgUtil::DisplayListVisitor which compiles all display lists and + texture objects. The init traversal is called automatically by the + first call to either app() or cull(), so should not be called by + user code during initialization. This ensures that a valid graphics + context has been established before OpenGL is initialized. + + osgUtil::DisplayListVisitor has also been updated to use a bit mask + for options, and the addition of compilation of texture objects + (via StateAttribute::compile) has also been added. + +2001-10-20 05:48 robert + + * src/osgPlugins/pfb/ReaderWriterPFB.cpp: Added #ifdef to Performer + ReaderWriterPFB so that pfdLoadFile is used under IRIX and + pfdLoadFile_pfb is used under Linux. + +2001-10-19 11:53 robert + + * src/osg/Lighting.cpp: Removed Lighting.cpp from repository, it is + nolonger used and was just hanging around erroneously. + +2001-10-19 11:30 robert + + * src/osgUtil/Optimizer.cpp: Updated the osgUtil::Optimize so that + the call to Optimize::StateVisitor is #ifdef out under Win32 and + STL port isn't being used. This prevents crashes due to MS's flacky + STL implementation. + +2001-10-19 10:22 robert + + * VisualStudio/osgUtil/osgUtil.dsp, + include/osgUtil/OptimizeStateVisitor, include/osgUtil/Optimizer, + src/Demos/sgv/sgv.cpp, src/osgUtil/Makefile, + src/osgUtil/OptimizeStateVisitor.cpp, src/osgUtil/Optimizer.cpp: + Added osgUtil::Optimizer which contains four visitor each designed + for doing different types of optimization on the scene graph - + state optimization, flattening static transforms, combining LOD's + and removing redundent groups. The new Optimizer replaces the once + seperate OptimizerStateVisitor. + +2001-10-19 08:56 robert + + * include/osg/Node, src/osg/Group.cpp, src/osg/Node.cpp, + src/osgPlugins/osg/Node.cpp, src/osgUtil/CullVisitor.cpp: Added + support for specifying whether view frustum and small feature + culling should be applied to a node or its child with the new + osg::Node::setCullingActive() flag. A mechanism has been + implemented so that if child has its culling disabled then their + parents, all the way up to the root are also have their culling + implicitly disabled. + + The osg::CullVisitor has updated to take account of both the + explicit control via setCullingActive and the implicit culling + disabling through children being disabled. + + This feature is useful for nodes which don't have a bounding volume + to cull against, earth sky implementations and light sources. + + The default osg::Node::_cullingActive is true, i.e. culling is + enabled by default. + +2001-10-17 18:17 don + + * Make/makedefs.linux, src/osgPlugins/pfb/ReaderWriterPFB.cpp: + Fixed static libraries in madefs.linux and error in + ReaderWriterPFB.cpp + +2001-10-16 18:30 bryan + + * Metrowerks/Metrowerks.mcp: Update the tree to my version of the + project file (I thought it was already in) + - Hang glide demo + works + - sgv is still being fixed + +2001-10-16 17:47 robert + + * include/osg/FrameStamp, src/osg/FrameStamp.cpp: Reverted Bryan's + changes to FrameStamp w.r.t std::tm structure which doesn't compile + under Win32 and IRIX. Will need to find another solution. + +2001-10-16 17:32 bryan + + * Metrowerks/OpenSceneGraph.mcp: This was the old project file. + It's no longer used. + +2001-10-16 16:55 bryan + + * include/osg/Timer, include/osg/FrameStamp, + src/osg/FrameStamp.cpp, src/osg/Timer.cpp, src/osgGLUT/Viewer.cpp: + [no log message] + +2001-10-16 14:39 robert + + * Make/makedefs.irix.std, src/osgPlugins/flt/GeoSetBuilder.cpp, + src/osgPlugins/flt/ReaderWriterFLT.h, src/osgPlugins/pfb/Makefile: + Fixes for IRIX build - submitted by Randall Hopper. + +2001-10-16 12:48 robert + + * VisualStudio/osgPlugins/png/png.dsp, include/osg/FrameStamp, + include/osg/Vec2, include/osg/Vec3, include/osg/Vec4: Fixes for + Win32 compilation. + +2001-10-16 11:03 robert + + * src/: osgUtil/SmoothingVisitor.cpp, + osgPlugins/lib3ds/ReaderWriter3DS.cpp: Fixed then normal smoothing + function in the .3ds loader and the osgUtil::SmoothingVisitor so + that unused normals at left at 0,0,0 insead of being normalized, + which results in (nan,nan,nan). + +2001-10-16 10:24 robert + + * src/Demos/sgv/sgv.cpp: Completed implementation of a the new + CombineLODsVisitor, ideal for use with the .flt loader. Code is + stuff currently in sgv, but will be moved out once more testing has + been done. + +2001-10-16 06:04 robert + + * src/Demos/: osgconv/OrientationConverter.cpp, + osgconv/OrientationConverter.h, sgv/sgv.cpp: Added support for + transforming LOD and Billboard centers to the OrientationConverter + and the flattenTransformVisitor in sgv. + +2001-10-16 06:03 robert + + * src/osgGLUT/Viewer.cpp: Modified Veiewer.cpp so that when + toggling the light with 'l' the light can be overrided to off and + overrided to on, previoulsy it only overrided to off. + +2001-10-16 04:24 robert + + * src/osgPlugins/pfb/ReaderWriterPFB.cpp: Fixed problem caused by + ReaderWriterPFB::writeNode(..) not ensuring that the file extension + was .pfb. Have added a check. + +2001-10-15 23:59 don + + * include/osg/: Vec2, Vec3, Vec4: added float *() operator to + Vec{2,3,4} so we can pass Vec3's directly to OpenGL glVertex?fv(). + +2001-10-15 11:50 robert + + * include/osg/FrameStamp, include/osg/Timer, + src/Demos/hangglide/ReaderWriterFLY.cpp, + src/Demos/osgconv/OrientationConverter.cpp, src/Demos/sgv/sgv.cpp, + src/osg/Matrix.cpp, src/osgPlugins/bmp/ReaderWriterBMP.cpp, + src/osgPlugins/dw/ReaderWriterDW.cpp, + src/osgPlugins/png/new_ReaderWriterPNG.cpp, + src/osgPlugins/png/prev_ReaderWriterPNG.cpp: Fixes for compilation + under IRIX, submitted by Randal Hopper, with mods from Robert. + +2001-10-15 10:29 robert + + * include/osg/State: Made the new global state attribute instances + in osg::State use osg:ref_ptr to automatically handle the memory + deletion. + +2001-10-15 10:07 robert + + * include/osg/State, src/osg/State.cpp, src/osg/StateSet.cpp, + src/osgGLUT/Viewer.cpp: Added support for automatic creation of + global StateAttributes to osg::State, these global attributes are + created by cloning any attributes which are applied during + rendering, the clone in a shallow copy, which will set up default + valus for that attribute. This should prevent attribute bleed from + one stateset to the next when the global StateSet doesn't contain + an attribute used within the scene graph. + +2001-10-15 07:18 robert + + * src/Demos/hangglide/GliderManipulator.cpp: Fixed rotations to + account to the fixes made to Quat and Matrix related to right hand + rule rotation. + +2001-10-15 04:40 robert + + * src/osgPlugins/: osg/ReaderWriterOSG.cpp, + pfb/ReaderWriterPFB.cpp: The writeImage/Object/Node methods in the + .osg and .pfb reader/writer didn't have the new + ReaderWriter::Options* structure passed to them, which meant the + the virtual functions didn't bind with the new base class methods + and wern't called on a write. + +2001-10-14 23:32 don + + * src/osgPlugins/pfb/: Makefile, ReaderWriterPFB.cpp: Updated pfb + loader to load pfb files into osg. Still broken for loading osg + files into Performer, however. + +2001-10-14 13:54 robert + + * include/osgDB/ReaderWriter, include/osgDB/Registry, + src/Demos/sgv/sgv.cpp, src/osgDB/Registry.cpp, + src/osgPlugins/bmp/ReaderWriterBMP.cpp, + src/osgPlugins/flt/ReaderWriterFLT.cpp, + src/osgPlugins/flt/ReaderWriterFLT.h, + src/osgPlugins/gif/ReaderWriterGIF.cpp, + src/osgPlugins/jpeg/ReaderWriterJPEG.cpp, + src/osgPlugins/lib3ds/ReaderWriter3DS.cpp, + src/osgPlugins/lwo/ReaderWriterLWO.cpp, + src/osgPlugins/obj/ReaderWriterOBJ.cpp, + src/osgPlugins/osg/ReaderWriterOSG.cpp, + src/osgPlugins/osgtgz/ReaderWriterOSGTGZ.cpp, + src/osgPlugins/pic/ReaderWriterPIC.cpp, + src/osgPlugins/png/ReaderWriterPNG.cpp, + src/osgPlugins/rgb/ReaderWriterRGB.cpp, + src/osgPlugins/tga/ReaderWriterTGA.cpp, + src/osgPlugins/tgz/ReaderWriterTGZ.cpp, + src/osgPlugins/tiff/ReaderWriterTIFF.cpp, + src/osgPlugins/zip/ReaderWriterZIP.cpp: Added + osgDB::ReaderWriter::Options class to the ReaderWriter base class, + support for settings options in osgDB::Registry, and added the + paramter to all of the reaader/writer plugins. The Options + structure by default has an string attached for packing basic + options, however, it also can be subclassed to encapsulate any + users defined option data. In the later case both the client code + *and* the plugin need to be aware of subclass, the plugin will need + to use dynamic_cast<> to assertain its type. + +2001-10-14 12:56 robert + + * VisualStudio/Demos/osgconv/osgconv.dsp: Added + OrientationConverter.cpp to the VisualStudio project files for + osgconv. + +2001-10-14 12:55 robert + + * src/Demos/osgconv/: Makefile, OrientationConverter.cpp, + orientationconverter.cpp: Changed the OrientationConverter.cpp's to + have consitent captilization as its associated header file. + +2001-10-14 10:23 robert + + * src/Demos/: osgconv/orientationconverter.cpp, sgv/sgv.cpp: Fixed + TransformFunctor code so that it now uses the inverse of the + transformation matrix to transform the normal. + +2001-10-14 10:23 robert + + * src/osg/Matrix.cpp: Fixed a bug in Matrix::invert(..) which did + not set full_realised=true, so that one Matrices which had not + previously be initialized we're erronously initialized later in the + code resetting it to identity. + +2001-10-14 05:58 robert + + * include/osg/StateSet, src/osg/StateSet.cpp: Added + osg::StateSet::merge(const StateSet& rhs) merges merges the modes + and attributes of rhs into 'this' stateset. + +2001-10-14 05:57 robert + + * src/osgUtil/: DriveManipulator.cpp, FlightManipulator.cpp: Fixed + the Flight and Drive manipulators to work with the updated + Matrix::rotate code. + +2001-10-14 02:01 don + + * include/osg/Drawable, src/Demos/osgconv/orientationconverter.cpp: + Fixed a small boo-boo in definition of bit masks in + include/osg/Drawable + + Fixed incorrect normal conversions for osgconv. + +2001-10-14 01:33 don + + * src/Demos/osgconv/orientationconverter.cpp: Mr. O added fancy, + shmanzy C++ code, but broke normal transform functionality Fixed. + +2001-10-14 01:14 don + + * src/osgUtil/TrackballManipulator.cpp: Quick 'n dirty fix to + TrackballManipulator to get the rotations doing the right things + after the Quat fixes. + +2001-10-14 00:50 don + + * Makefile: Cleaned up some 'make clobber' issues in root Makefile + +2001-10-14 00:28 don + + * src/osg/: Matrix.cpp, Quat.cpp: Quaternions were assigning + inverted values during conversion to matricies. This is probably + due to an error on the gamasutra web page demonstrating this. It + caused left-handed rotations rather than right handed rotations. + Should be fixed now. + +2001-10-13 07:16 robert + + * TODO, include/osg/Drawable, include/osg/GeoSet, + src/Demos/osgconv/orientationconverter.cpp, src/Demos/sgv/Makefile, + src/Demos/sgv/sgv.cpp, src/osg/GeoSet.cpp: Changed the naming and + calling convention of the new Drawable::AttributeFunctor and have + updated GeoSet to use mutable values for the _numverts etc, + allowing osg::GeoSet::computeNumVerts() to be a const operation. + osg::GeoSet::getNumVerts is now a const once more, so avoiding + compilation problems. Also chaned the new osgconv orientation code + to use a Drawable::AttributeFunctor so it can work on other + Drawables other than just GeoSets. + +2001-10-13 05:48 don + + * src/Demos/osgconv/orientationconverter.cpp: Added Mr. Osfields + dynamic_cast<> and test for validity test. + +2001-10-13 04:34 don + + * src/osg/Quat.cpp: backed out right-handed coordinate transform + for makeRot(vec3,vec3) in Quat.cpp + +2001-10-13 04:32 don + + * src/Demos/osgconv/orientationconverter.cpp: A few more clean ups + +2001-10-13 03:41 don + + * src/Demos/osgconv/osgconv.cpp: Cleaned up the usage message + +2001-10-13 03:24 don + + * include/osg/GeoSet, src/Demos/osgconv/OrientationConverter.h, + src/Demos/osgconv/orientationconverter.cpp: Updated osgconv to be + able to handle orientation swapping. + +2001-10-13 02:23 don + + * src/osg/Quat.cpp: Changed some routines to produce right-handed + rotations. + +2001-10-13 02:22 don + + * src/Demos/osgconv/: Makefile, OrientationConverter.h, + orientationconverter.cpp, osgconv.cpp: checking files in to move + development location + +2001-10-12 21:28 don + + * include/osg/Matrix: Removed personal note in Matrix header file + +2001-10-12 16:06 robert + + * src/osg/GeoSet.cpp: Added support for the new + AttributeUpdateFunctors. + +2001-10-12 16:05 robert + + * include/osg/: Drawable, GeoSet, Vec2, Vec3, Vec4: Added != method + to Vec2,Vec3,Vec4 and did further work on the + AttributeUpdateFunctors. + +2001-10-12 13:45 don + + * src/: osg/Makefile, osgPlugins/pfb/ConvertToPerformer.cpp: Added + include/osg/Math to Makefile TARGET_INCLUDE_FILES and fixed + references to _mat in ConvertToPerformer.cpp + +2001-10-10 16:20 robert + + * include/osg/Drawable, include/osg/NodeVisitor, + include/osg/Transform, src/osg/Transform.cpp: Added support for + DYNAMIC/STATIC osg::Transform types and added new + osg::Drawable::getStats and supportsAttributeUpdate(..) and + applyAttributeUpdate(...) methods which will be to enable hooks + into Drawable subclasses. + +2001-10-10 10:38 robert + + * include/osg/GeoSet: Fixed spelling of + osg::GeoSet::getNumInterleavedIndices, was missing a 'n'! + +2001-10-09 17:55 robert + + * src/osgPlugins/bmp/ReaderWriterBMP.cpp: Fixed a crash when + opening an erroneous test file (reopen.bmp). + +2001-10-09 16:22 robert + + * VisualStudio/osgPlugins/: flt/flt.dsp, osg/dot_osg.dsp: Updated + to fix build problems under MSVC. + +2001-10-09 16:09 robert + + * VisualStudio/osgPlugins/osg/dot_osg.dsp: Updated MSVC Workspace + files to fix build problems. + +2001-10-09 16:03 robert + + * VisualStudio/: osg/osg.dsp, osgGLUT/osgGLUT.dsp, + osgUtil/osgUtil.dsp: Updated MSVC Workspace files to fix build + problems. + +2001-10-09 16:00 robert + + * include/osg/Statistics: Updated MSVC Workspace files to fix build + problems. + +2001-10-09 10:18 robert + + * VisualStudio/: Demos/hangglide/hangglide.dsp, + Demos/osgconv/osgconv.dsp, Demos/osgcube/osgcube.dsp, + Demos/osgimpostor/osgimpostor.dsp, Demos/osgreflect/osgreflect.dsp, + Demos/osgtexture/osgtexture.dsp, Demos/osgviews/osgviews.dsp, + Demos/sgv/sgv.dsp, osg/osg.dsp, osgDB/osgDB.dsp, + osgGLUT/osgGLUT.dsp, osgPlugins/bmp/bmp.dsp, osgPlugins/dw/dw.dsp, + osgPlugins/flt/flt.dsp, osgPlugins/gif/gif.dsp, + osgPlugins/jpeg/jpeg.dsp, osgPlugins/lib3ds/lib3ds.dsp, + osgPlugins/lwo/lwo.dsp, osgPlugins/obj/obj.dsp, + osgPlugins/osg/dot_osg.dsp, osgPlugins/osgtgz/osgtgz.dsp, + osgPlugins/pic/pic.dsp, osgPlugins/png/png.dsp, + osgPlugins/rgb/rgb.dsp, osgPlugins/tga/tga.dsp, + osgPlugins/tgz/tgz.dsp, osgPlugins/tiff/tiff.dsp, + osgPlugins/zip/zip.dsp, osgUtil/osgUtil.dsp, osgWX/osgWX.dsp: + Merged Ben Discoe's clean up of the MSVC files. + +2001-10-09 07:58 robert + + * src/osgPlugins/bmp/ReaderWriterBMP.cpp: Merged updates to BMP + plugin from Geoff Michel. Also modified a little of the code to + fix a crash under Linux, Robert Osfield + +2001-10-08 15:01 robert + + * AUTHORS: Put the makedefs.linux back to default to optimize. + +2001-10-08 11:54 robert + + * src/: osgDB/FileUtils.cpp, osgPlugins/flt/FltFile.cpp, + osgPlugins/flt/Input.cpp: Fixed a recently introduced crash in the + flt plugin which was happen when a std::string was be be set with + NULL char*. Also added support for stripping the filename from its + original path, inside the osgDB::findFile function. + +2001-10-08 04:35 robert + + * src/osgPlugins/flt/: FltFile.cpp, Input.cpp: Added support for + using osgDB::fineFile into the .flt plugin. + +2001-10-07 16:10 robert + + * src/osgPlugins/bmp/ReaderWriterBMP.cpp: Merged Geoff Michel's + udpdates to bmp plugin, and fixed a double fclose bug which was + causing a seg fault under Linux. + +2001-10-06 16:29 robert + + * include/osg/Math, include/osg/Statistics, + include/osgUtil/RenderBin, include/osgUtil/RenderStage, + include/osgUtil/Statistics, src/osg/Makefile, + src/osgGLUT/Viewer.cpp, src/osgPlugins/bmp/ReaderWriterBMP.cpp, + src/osgUtil/Makefile, src/osgUtil/RenderBin.cpp, + src/osgUtil/RenderStage.cpp: Added a osg::DegreesToRadians() and + osg::RadiansToDegrees() method to osg/Math, updated the + ReaderWriterBMP.cpp (mods sent in my Geoff Michel) and moved the + osgUtil::Statistics to osg::Statistics in preperation to adding it + to the the Drawable base class. + +2001-10-05 15:55 robert + + * VisualStudio/osgPlugins/bmp/bmp.dsp, src/osgPlugins/bmp/Makefile, + src/osgPlugins/bmp/ReaderWriterBMP.cpp: Added bmp plugin files, bmp + plguin written by Geoff Michel + +2001-10-05 06:39 robert + + * VisualStudio/VisualStudio.dsw, src/osgPlugins/Makefile: Added bmp + osgPlugin, written by Geoff Michel. + +2001-10-05 06:38 robert + + * src/osg/Image.cpp: Fixed a bug in + osg::Image::ensureDimensionsArePowerOfTwo() which only scaled + dimensions if *both* axis wern't a power of two, have fixed it to + rescale if either of the axis arn't a power to two. + +2001-10-04 21:27 bryan + + * Metrowerks/Metrowerks.mcp: [no log message] + +2001-10-04 12:49 robert + + * include/osgWX/: Export, Version, WXEventAdapter: Added the + Copyright message to the top of osgWX, with Ben Disoe's name as he + wrote all the code. + +2001-10-04 11:12 robert + + * include/: osg/AlphaFunc, osg/Billboard, osg/BoundingBox, + osg/BoundingSphere, osg/BoundsChecking, osg/Camera, osg/ClipPlane, + osg/ClippingVolume, osg/ColorMask, osg/CullFace, osg/Depth, + osg/Drawable, osg/EarthSky, osg/Export, osg/Fog, osg/FrameStamp, + osg/FrontFace, osg/GL, osg/GLExtensions, osg/GLU, osg/GeoSet, + osg/Geode, osg/Group, osg/Image, osg/Impostor, osg/ImpostorSprite, + osg/LOD, osg/Light, osg/LightSource, osg/LineSegment, osg/Material, + osg/Math, osg/Matrix, osg/MemoryAdapter, osg/Node, + osg/NodeCallback, osg/NodeVisitor, osg/Notify, osg/Object, + osg/Plane, osg/Point, osg/PolygonMode, osg/PolygonOffset, osg/Quat, + osg/Referenced, osg/State, osg/StateAttribute, osg/StateSet, + osg/Stencil, osg/Switch, osg/TexEnv, osg/TexGen, osg/TexMat, + osg/Texture, osg/Timer, osg/Transform, osg/Transparency, osg/Types, + osg/Vec2, osg/Vec3, osg/Vec4, osg/Version, osg/Viewport, + osg/mem_ptr, osg/ref_ptr, osgDB/DotOsgWrapper, + osgDB/DynamicLibrary, osgDB/Export, osgDB/Field, osgDB/FieldReader, + osgDB/FieldReaderIterator, osgDB/FileNameUtils, osgDB/FileUtils, + osgDB/Input, osgDB/Output, osgDB/ReadFile, osgDB/ReaderWriter, + osgDB/Registry, osgDB/Version, osgDB/WriteFile, osgGLUT/Export, + osgGLUT/GLUTEventAdapter, osgGLUT/Version, osgGLUT/Viewer, + osgGLUT/glut, osgUtil/AppVisitor, osgUtil/CameraManipulator, + osgUtil/CullViewState, osgUtil/CullVisitor, osgUtil/DepthSortedBin, + osgUtil/DisplayListVisitor, osgUtil/DriveManipulator, + osgUtil/Export, osgUtil/FlightManipulator, + osgUtil/GUIActionAdapter, osgUtil/GUIEventAdapter, + osgUtil/GUIEventHandler, osgUtil/InsertImpostorsVisitor, + osgUtil/IntersectVisitor, osgUtil/OptimizeStateVisitor, + osgUtil/RenderBin, osgUtil/RenderGraph, osgUtil/RenderLeaf, + osgUtil/RenderStage, osgUtil/RenderStageLighting, + osgUtil/RenderToTextureStage, osgUtil/SceneView, + osgUtil/SceneViewManipulator, osgUtil/SmoothingVisitor, + osgUtil/StateSetManipulator, osgUtil/Statistics, + osgUtil/Tesselator, osgUtil/TrackballManipulator, + osgUtil/TriStripVisitor, osgUtil/Version, + osgUtil/VisualsRequirementsVisitor: Added a copyright notice to all + core headers, which all begin with //C++ header to help scripts and + editors pick up the fact that the file is a header file. + +2001-10-04 10:39 robert + + * src/osg/StateSet.cpp: Changed the ordering of comparing modes and + attributes in osg::StateAttribute::compare() as part of an + investigration into state sorting. + +2001-10-04 10:35 robert + + * include/osgUtil/RenderBin, src/osgUtil/RenderBin.cpp: Added an + implemention of basic state sorting to the RenderBin, but have + commented out the sort operation as Peformance benifit is currently + negligable, will need to improve on the sort functor to see real + benifits. + +2001-10-04 10:25 robert + + * src/osgGLUT/Viewer.cpp: Added extra precision to the app,cull and + draw timings in the Viewer. + +2001-10-04 10:20 robert + + * src/osg/Camera.cpp: Removed some notify which were only used for + debugging of the camera class and are now redudent. + +2001-10-04 10:10 robert + + * include/osg/StateAttribute: Changed the numeric ordering of + StateAttributes Types, as part of an investigation into state + sorting. + +2001-10-03 17:43 robert + + * AUTHORS, INSTALL, Makefile, Make/makedefs.macosx, + Make/makerules.macosx, include/osg/GL, include/osg/GLU, + include/osg/Math, include/osg/Notify, include/osg/Timer, + include/osg/Types, include/osg/Vec2, include/osg/Vec3, + include/osg/Vec4, include/osgGLUT/glut, + src/Demos/hangglide/hangglide.cpp, src/Demos/hangglide/hat.cpp, + src/Demos/osgcube/osgcube.cpp, src/Demos/osgreflect/osgreflect.cpp, + src/Demos/sgv/sgv.cpp, src/osg/Image.cpp, src/osg/Notify.cpp, + src/osg/State.cpp, src/osg/Texture.cpp, src/osg/Timer.cpp, + src/osgGLUT/GLUTEventAdapter.cpp, src/osgGLUT/Viewer.cpp, + src/osgUtil/SceneView.cpp, src/osgUtil/Tesselator.cpp: Integrated + changes for MacOSX, submitted by Phil Atkin, with small mods by + Robert Osfield to maintain compatability under Linux. + +2001-10-03 03:56 robert + + * src/osgPlugins/osg/EarthSky.cpp: Added missing EarthSky.cpp file + to osg plguin. + +2001-10-02 11:59 robert + + * ChangeLog, include/osg/EarthSky, include/osg/Types, + src/Demos/hangglide/GliderManipulator.cpp, + src/Demos/osgcluster/osgcluster.cpp, src/Demos/osgcube/osgcube.cpp, + src/Demos/osgreflect/osgreflect.cpp, src/osg/Billboard.cpp, + src/osg/EarthSky.cpp, src/osg/Matrix.cpp, + src/osgUtil/DriveManipulator.cpp, + src/osgUtil/FlightManipulator.cpp, + src/osgUtil/TrackballManipulator.cpp: Added include/osg/EarthSky + and src/osg/EarthSky to cvs. + + Also move osg across to using radians for angular paramters by + default. By defining USE_DEGREES_INTERNALLY you can get the OSG to + revert to the old style degrees. This later feature is deprecated + and only meant for helping comptability in the interim. + +2001-10-02 07:36 robert + + * VisualStudio/osg/osg.dsp, include/osg/NodeVisitor, + include/osgUtil/CullVisitor, src/Demos/hangglide/hangglide.cpp, + src/osg/Makefile, src/osgPlugins/osg/Makefile, + src/osgUtil/CullVisitor.cpp, src/osgUtil/SceneView.cpp: Added + osg::EarthSky node to the core osg library, and added support for + it into osgUtil::SceneView, osg::CullVisitor, osgPlugin/osg and + updated the hangglide demo to use the new earth sky node. + +2001-10-01 19:02 robert + + * include/osg/StateSet, include/osgUtil/OptimizeStateVisitor, + src/osg/StateSet.cpp, src/osgUtil/OptimizeStateVisitor.cpp: Added + support for osg::StateSet comparison operators and using this new + feature added support in osgUtil::OptimizeStateVisitor for removing + duplicate StateSet's from the scene graph, previously only + duplicated StateAttributes we're removed. + +2001-10-01 08:06 robert + + * src/osg/TexMat.cpp: Integrated a bug fix to osg::TexMat from + Geoff Michel which adds a glMatrixMode( GL_MODELVIEW ); after the + setting of the texture matrix. Previously the texture matrix mode + could run into normal model view matrix operations which were + assuming the defaul of GL_MODELVIEW. + +2001-10-01 07:15 robert + + * include/osg/: BoundsChecking, ClippingVolume, ColorMask, Depth, + Impostor, ImpostorSprite, Material, MemoryAdapter, Node, + NodeVisitor, Object, Plane, Point, Quat, Referenced, State, + StateAttribute, StateSet, Stencil, TexGen, Texture, Transform, + Transparency, Vec2, Vec3, Vec4, Version, mem_ptr: Made spelling + corrections, the spelling mistakes picked up by a script written by + Neil Salter. + + script + +2001-09-30 16:41 robert + + * include/osg/Timer: Interegrated changes to Timer from Neil Salter + to fix compilation problems which had been introduced by doing + #include's within the osg namespace. + +2001-09-29 14:34 robert + + * src/: Demos/hangglide/hangglide.cpp, osg/StateSet.cpp: Added + setAttributeAndModes(new Depth,StateAttribute::ON); to the + StateSet::setGlobalDefault() so that the correct default for the + glDepthFunc etc are set up for scene graphs, and allows override of + these value which risk of inheriting state on to the rest of the + scene graph. + + This has allowed the hangglide demo to be simplified since it now + doesn't need to set the global Depth instance itself. + +2001-09-29 05:37 robert + + * include/osg/Matrix, src/osg/Matrix.cpp: Modified the Matrix + multiple method added by Don so it is safer and added comments + explaining why it shouldn't be needed as other more efficient + methods should be doing the work for us. + + Also added Matrix::ensureRealized() to support the lazy + initialization of Matrix, whilest keeping the implementation robust + so that external calls to Matrix which get values do so on an + initialized matrix. + +2001-09-28 22:48 don + + * include/osg/Matrix: Added operator * (Matrix &) to Matrix + (header) and operator [] to reference matrix elements. + +2001-09-28 16:10 robert + + * include/osg/: AlphaFunc, Billboard, BoundingBox, BoundingSphere, + Camera, Drawable, GL, GLExtensions, GeoSet, Geode, Group, Image, + LOD, LineSegment: Made spelling corrections to osg include files, + spelling mistakes detected by a script written by Neil Salter which + analyses comments for mistakes. + +2001-09-28 15:36 don + + * Makefile, Make/instrules, src/osg/Makefile: Cleaned up inst rules + a bit... + +2001-09-28 12:56 robert + + * ChangeLog, include/osg/Matrix, include/osg/StateSet, + src/osg/StateSet.cpp: [no log message] + +2001-09-28 08:36 robert + + * include/: osgDB/DotOsgWrapper, osgDB/FieldReader, + osgDB/FieldReaderIterator, osgDB/FileUtils, osgDB/ReadFile, + osgDB/Registry, osgDB/Version, osgDB/WriteFile, osgGLUT/Export, + osgGLUT/GLUTEventAdapter, osgGLUT/Version, osgGLUT/Viewer, + osgUtil/CullVisitor, osgUtil/DisplayListVisitor, osgUtil/Export, + osgUtil/IntersectVisitor, osgUtil/RenderGraph, osgUtil/RenderStage, + osgUtil/SceneView, osgUtil/Tesselator, osgUtil/TriStripVisitor, + osgUtil/Version, osgUtil/VisualsRequirementsVisitor, osgWX/Export, + osgWX/Version, osgWX/WXEventAdapter: [no log message] + +2001-09-27 12:34 robert + + * ChangeLog, include/osg/Matrix, src/Demos/hangglide/tank.cpp, + src/osg/Billboard.cpp, src/osg/Matrix.cpp, src/osg/Quat.cpp, + src/osg/TexMat.cpp, src/osgPlugins/dw/ReaderWriterDW.cpp, + src/osgPlugins/flt/flt2osg.cpp, src/osgPlugins/osg/Matrix.cpp, + src/osgPlugins/osg/TexMat.cpp, src/osgUtil/RenderLeaf.cpp, + src/osgUtil/RenderStage.cpp, src/osgUtil/RenderStageLighting.cpp: + [no log message] + +2001-09-27 05:44 robert + + * ChangeLog, include/osg/Matrix, + src/Demos/hangglide/GliderManipulator.cpp, + src/Demos/osgcube/osgcube.cpp, src/osg/Camera.cpp, + src/osg/Matrix.cpp, src/osg/Transform.cpp, + src/osgUtil/DriveManipulator.cpp, + src/osgUtil/FlightManipulator.cpp, + src/osgUtil/TrackballManipulator.cpp: [no log message] + +2001-09-26 08:23 anonymous + + * src/Demos/: hangglide/base.cpp, hangglide/hangglide.cpp, + hangglide/sky.cpp, osgreflect/osgreflect.cpp: [no log message] + +2001-09-25 13:55 robert + + * src/osg/Matrix.cpp.new, src/osg/Matrix.cpp.old, + include/osg/Matrix.new, include/osg/Matrix.old: [no log message] + +2001-09-21 22:41 don + + * AUTHORS, ChangeLog, INSTALL, TODO, index.html, + VisualStudio/osg/osg.dsp, VisualStudio/osgUtil/osgUtil.dsp, + dist/RedHatRPM/Makefile, dist/RedHatRPM/makespec, + dist/RedHatRPM/osg.spec, doc/doc++/osg/AlphaFunc.html, + doc/doc++/osg/Billboard.html, doc/doc++/osg/Camera.html, + doc/doc++/osg/ClipPlane.html, doc/doc++/osg/ColorMask.html, + doc/doc++/osg/CullFace.html, doc/doc++/osg/Depth.html, + doc/doc++/osg/Fog.html, doc/doc++/osg/FrontFace.html, + doc/doc++/osg/General.html, doc/doc++/osg/GeoSet.html, + doc/doc++/osg/Geode.html, doc/doc++/osg/Group.html, + doc/doc++/osg/HIER.html, doc/doc++/osg/HIERjava.html, + doc/doc++/osg/Image.html, doc/doc++/osg/Impostor.html, + doc/doc++/osg/ImpostorSprite.html, + doc/doc++/osg/ImpostorSpriteManager.html, doc/doc++/osg/LOD.html, + doc/doc++/osg/Light.html, doc/doc++/osg/LightSource.html, + doc/doc++/osg/LineSegment.html, doc/doc++/osg/Material.html, + doc/doc++/osg/Matrix.html, doc/doc++/osg/MatrixProduct.html, + doc/doc++/osg/MemoryAdapter.html, doc/doc++/osg/Node.html, + doc/doc++/osg/NodeAcceptOp.html, doc/doc++/osg/NodeCallback.html, + doc/doc++/osg/NodeVisitor.html, doc/doc++/osg/NotifySeverity.html, + doc/doc++/osg/Object.html, doc/doc++/osg/Plane.html, + doc/doc++/osg/Point.html, doc/doc++/osg/PolygonMode.html, + doc/doc++/osg/PolygonOffset.html, doc/doc++/osg/Quat.html, + doc/doc++/osg/Referenced.html, doc/doc++/osg/State.html, + doc/doc++/osg/StateAttribute.html, doc/doc++/osg/StateSet.html, + doc/doc++/osg/Stencil.html, doc/doc++/osg/Switch.html, + doc/doc++/osg/TexEnv.html, doc/doc++/osg/TexGen.html, + doc/doc++/osg/TexMat.html, doc/doc++/osg/Texture.html, + doc/doc++/osg/Timer.html, doc/doc++/osg/Transform.html, + doc/doc++/osg/Transparency.html, doc/doc++/osg/Vec2.html, + doc/doc++/osg/Vec3.html, doc/doc++/osg/Vec4.html, + doc/doc++/osg/Viewport.html, + doc/doc++/osg/clampArray3BetweenRange.html, + doc/doc++/osg/clampArray3GEQUAL.html, + doc/doc++/osg/clampArray3LEQUAL.html, + doc/doc++/osg/clampArray4BetweenRange.html, + doc/doc++/osg/clampArray4GEQUAL.html, + doc/doc++/osg/clampArray4LEQUAL.html, + doc/doc++/osg/clampArrayElementBetweenRange.html, + doc/doc++/osg/clampArrayElementGEQUAL.html, + doc/doc++/osg/clampArrayElementLEQUAL.html, + doc/doc++/osg/clampArrayElementsBetweenRange.html, + doc/doc++/osg/clampArrayElementsGEQUAL.html, + doc/doc++/osg/clampArrayElementsLEQUAL.html, + doc/doc++/osg/clampBetweenRange.html, + doc/doc++/osg/clampGEQUAL.html, doc/doc++/osg/clampLEQUAL.html, + doc/doc++/osg/createGeodeForImage.2.html, + doc/doc++/osg/for_each_triangle.html, doc/doc++/osg/index.html, + doc/doc++/osg/mem_ptr.html, doc/doc++/osg/notify.html, + doc/doc++/osg/osg.html, doc/doc++/osg/ref_ptr.html, + doc/doc++/osgGLUT/Viewer.html, + doc/doc++/osgUtil/CameraManipulator.html, + doc/doc++/osgUtil/CullViewState.html, + doc/doc++/osgUtil/CullVisitor.html, + doc/doc++/osgUtil/DepthSortedBin.html, + doc/doc++/osgUtil/DisplayListVisitor.html, + doc/doc++/osgUtil/DriveManipulator.html, + doc/doc++/osgUtil/FlightManipulator.html, + doc/doc++/osgUtil/GUIActionAdapter.html, + doc/doc++/osgUtil/GUIEventAdapter.html, + doc/doc++/osgUtil/GUIEventHandler.html, + doc/doc++/osgUtil/General.html, doc/doc++/osgUtil/HIER.html, + doc/doc++/osgUtil/HIERjava.html, doc/doc++/osgUtil/Hit.html, + doc/doc++/osgUtil/InsertImpostorsVisitor.html, + doc/doc++/osgUtil/IntersectState.html, + doc/doc++/osgUtil/IntersectVisitor.html, + doc/doc++/osgUtil/RegisterRenderBinProxy.html, + doc/doc++/osgUtil/RenderBin.html, + doc/doc++/osgUtil/RenderGraph.html, + doc/doc++/osgUtil/RenderLeaf.html, + doc/doc++/osgUtil/RenderStage.html, + doc/doc++/osgUtil/RenderStageLighting.html, + doc/doc++/osgUtil/RenderToTextureStage.html, + doc/doc++/osgUtil/SceneView.html, + doc/doc++/osgUtil/SceneViewManipulator.html, + doc/doc++/osgUtil/SmoothingVisitor.html, + doc/doc++/osgUtil/StateSetManipulator.html, + doc/doc++/osgUtil/Statistics.html, + doc/doc++/osgUtil/Tesselator.html, + doc/doc++/osgUtil/TrackballManipulator.html, + doc/doc++/osgUtil/TriStripVisitor.html, + doc/doc++/osgUtil/VisualsRequirementsVisitor.html, + doc/doc++/osgUtil/index.html, doc/doc++/osgUtil/osgUtil.html, + include/osg/AlphaFunc, include/osg/Billboard, include/osg/Camera, + include/osg/ClipPlane, include/osg/ColorMask, include/osg/CullFace, + include/osg/Depth, include/osg/Fog, include/osg/FrontFace, + include/osg/Geode, include/osg/Group, include/osg/Impostor, + include/osg/ImpostorSprite, include/osg/LOD, include/osg/Light, + include/osg/LightSource, include/osg/Material, include/osg/Matrix, + include/osg/Matrix.new, include/osg/Matrix.old, include/osg/Node, + include/osg/NodeVisitor, include/osg/Object, include/osg/Point, + include/osg/PolygonMode, include/osg/PolygonOffset, + include/osg/State, include/osg/StateAttribute, + include/osg/StateSet, include/osg/Stencil, include/osg/Switch, + include/osg/TexEnv, include/osg/TexGen, include/osg/TexMat, + include/osg/Texture, include/osg/Timer, include/osg/Transform, + include/osg/Transparency, include/osg/Viewport, + include/osgGLUT/Viewer, include/osgUtil/CullVisitor, + include/osgUtil/RenderStage, include/osgUtil/SceneView, + include/osgUtil/Tesselator, + include/osgUtil/VisualsRequirementsVisitor, src/Demos/Makefile, + src/Demos/osgcluster/osgcluster.cpp, src/Demos/osgcube/osgcube.cpp, + src/Demos/osgreflect/osgreflect.cpp, src/Demos/sgv/sgv.cpp, + src/osg/Billboard.cpp, src/osg/Camera.cpp, src/osg/ClipPlane.cpp, + src/osg/Geode.cpp, src/osg/Group.cpp, src/osg/ImpostorSprite.cpp, + src/osg/Makefile, src/osg/Matrix.cpp, src/osg/Matrix.cpp.new, + src/osg/Node.cpp, src/osg/NodeVisitor.cpp, src/osg/Point.cpp, + src/osg/State.cpp, src/osg/StateSet.cpp, src/osg/Texture.cpp, + src/osg/Timer.cpp, src/osgGLUT/Viewer.cpp, + src/osgPlugins/osg/GeoSet.cpp, src/osgPlugins/osg/StateSet.cpp, + src/osgUtil/CullVisitor.cpp, src/osgUtil/Makefile, + src/osgUtil/RenderStage.cpp, src/osgUtil/RenderToTextureStage.cpp, + src/osgUtil/SceneView.cpp: Synch with 20010921 + +2001-09-21 22:04 don + + * lib/: .README, README, osgPlugins/.README, osgPlugins/README: + Added files to keep cvs from removing empty directories lib and + lib/osgPlugins + +2001-09-19 21:07 don + + * lib/: README, osgPlugins/README: Added place holder README files + to lib/README and lib/osgUtil/README so empty directories will not + be removed by CVS + +2001-09-19 20:59 don + + * src/: Demos/hangglide/Makedepend, Demos/osgcluster/Makedepend, + Demos/osgconv/Makedepend, Demos/osgcube/Makedepend, + Demos/osgimpostor/Makedepend, Demos/osgreflect/Makedepend, + Demos/osgtexture/Makedepend, Demos/osgviews/Makedepend, + Demos/sgv/Makedepend, Demos/wxsgv/Makedepend, osg/Makedepend, + osgDB/Makedepend, osgGLUT/Makedepend, osgPlugins/dw/Makedepend, + osgPlugins/flt/Makedepend, osgPlugins/gif/Makedepend, + osgPlugins/jpeg/Makedepend, osgPlugins/lib3ds/Makedepend, + osgPlugins/lwo/Makedepend, osgPlugins/obj/Makedepend, + osgPlugins/osg/Makedepend, osgPlugins/osgtgz/Makedepend, + osgPlugins/pfb/Makedepend, osgPlugins/pic/Makedepend, + osgPlugins/png/Makedepend, osgPlugins/rgb/Makedepend, + osgPlugins/tga/Makedepend, osgPlugins/tgz/Makedepend, + osgPlugins/tiff/Makedepend, osgPlugins/zip/Makedepend, + osgUtil/Makedepend, osgWX/Makedepend: Removed Makedepend files + +2001-09-19 20:48 don + + * Metrowerks/Metrowerks.mcp, Metrowerks/OpenSceneGraph.mcp, + doc/OpenSceneGraphBanner_Distribution.jpg, + doc/MindMaps/DesignPatterns.mmp, doc/MindMaps/Mission.mmp, + doc/MindMaps/DesignPatterns/DesignPatterns.gif, + doc/MindMaps/Mission/Mission.gif, doc/UML/osg.png, + doc/UML/osgutils.png, doc/doc++/osg/ClassGraph.class, + doc/doc++/osg/ClassGraphPanel.class, + doc/doc++/osg/ClassLayout.class, + doc/doc++/osg/NavigatorButton.class, doc/doc++/osg/icon1.gif, + doc/doc++/osg/icon2.gif, doc/doc++/osgDB/ClassGraph.class, + doc/doc++/osgDB/ClassGraphPanel.class, + doc/doc++/osgDB/ClassLayout.class, + doc/doc++/osgDB/NavigatorButton.class, doc/doc++/osgDB/icon1.gif, + doc/doc++/osgDB/icon2.gif, doc/doc++/osgDB/osgDB.html, + doc/doc++/osgGLUT/ClassGraph.class, + doc/doc++/osgGLUT/ClassGraphPanel.class, + doc/doc++/osgGLUT/ClassLayout.class, + doc/doc++/osgGLUT/NavigatorButton.class, + doc/doc++/osgGLUT/icon1.gif, doc/doc++/osgGLUT/icon2.gif, + doc/doc++/osgUtil/ClassGraph.class, + doc/doc++/osgUtil/ClassGraphPanel.class, + doc/doc++/osgUtil/ClassLayout.class, + doc/doc++/osgUtil/NavigatorButton.class, + doc/doc++/osgUtil/icon1.gif, doc/doc++/osgUtil/icon2.gif, + doc/doc++/osgWX/ClassGraph.class, + doc/doc++/osgWX/ClassGraphPanel.class, + doc/doc++/osgWX/ClassLayout.class, + doc/doc++/osgWX/NavigatorButton.class, doc/doc++/osgWX/icon1.gif, + doc/doc++/osgWX/icon2.gif, doc/doc++/osgWX/osgWX.html, + src/Demos/wxsgv/wxsgv.wdr: Addec binary files with -kb + +2001-09-19 20:47 don + + * Metrowerks/Metrowerks.mcp, Metrowerks/OpenSceneGraph.mcp, + doc/OpenSceneGraphBanner_Distribution.jpg, + doc/MindMaps/DesignPatterns.mmp, doc/MindMaps/Mission.mmp, + doc/MindMaps/DesignPatterns/DesignPatterns.gif, + doc/MindMaps/Mission/Mission.gif, doc/UML/osg.png, + doc/UML/osgutils.png, doc/doc++/osg/ClassGraph.class, + doc/doc++/osg/ClassGraphPanel.class, + doc/doc++/osg/ClassLayout.class, + doc/doc++/osg/NavigatorButton.class, doc/doc++/osg/icon1.gif, + doc/doc++/osg/icon2.gif, doc/doc++/osgDB/ClassGraph.class, + doc/doc++/osgDB/ClassGraphPanel.class, + doc/doc++/osgDB/ClassLayout.class, + doc/doc++/osgDB/NavigatorButton.class, doc/doc++/osgDB/icon1.gif, + doc/doc++/osgDB/icon2.gif, doc/doc++/osgDB/osgDB.html, + doc/doc++/osgGLUT/ClassGraph.class, + doc/doc++/osgGLUT/ClassGraphPanel.class, + doc/doc++/osgGLUT/ClassLayout.class, + doc/doc++/osgGLUT/NavigatorButton.class, + doc/doc++/osgGLUT/icon1.gif, doc/doc++/osgGLUT/icon2.gif, + doc/doc++/osgUtil/ClassGraph.class, + doc/doc++/osgUtil/ClassGraphPanel.class, + doc/doc++/osgUtil/ClassLayout.class, + doc/doc++/osgUtil/NavigatorButton.class, + doc/doc++/osgUtil/icon1.gif, doc/doc++/osgUtil/icon2.gif, + doc/doc++/osgWX/ClassGraph.class, + doc/doc++/osgWX/ClassGraphPanel.class, + doc/doc++/osgWX/ClassLayout.class, + doc/doc++/osgWX/NavigatorButton.class, doc/doc++/osgWX/icon1.gif, + doc/doc++/osgWX/icon2.gif, doc/doc++/osgWX/osgWX.html, + src/Demos/wxsgv/wxsgv.wdr: Removed should be binary entries. Well + r-add with -kb + +2001-09-19 20:07 don + + * src/Demos/wxsgv/icons/: camera.ico, engine.ico, geom.ico, + group.ico, light.ico, lod.ico, mesh.ico, top.ico, unknown.ico, + wxsgv.ico, xform.ico: Added ico files with -kb flag + +2001-09-19 20:06 don + + * src/Demos/wxsgv/icons/: camera.ico, engine.ico, geom.ico, + group.ico, icon1.xpm, icon10.xpm, icon2.xpm, icon3.xpm, icon4.xpm, + icon5.xpm, icon6.xpm, icon7.xpm, icon8.xpm, icon9.xpm, light.ico, + lod.ico, mesh.ico, top.ico, unknown.ico, wxsgv.ico, wxsgv.xpm, + xform.ico: Trying to clean up binary commits + +2001-09-19 19:56 don + + * src/Demos/wxsgv/icons/: camera.ico, engine.ico, geom.ico, + group.ico, light.ico, lod.ico, mesh.ico, top.ico, unknown.ico, + wxsgv.ico, xform.ico: Added these with the -kb flag now. + +2001-09-19 19:55 don + + * src/Demos/wxsgv/icons/: camera.ico, engine.ico, geom.ico, + group.ico, icon1.xpm, icon10.xpm, icon2.xpm, icon3.xpm, icon4.xpm, + icon5.xpm, icon6.xpm, icon7.xpm, icon8.xpm, icon9.xpm, light.ico, + lod.ico, mesh.ico, top.ico, unknown.ico, wxsgv.ico, wxsgv.xpm, + xform.ico: Cleaning up binary commits - oops + +2001-09-19 19:51 don + + * doc/doc++/osg/FrameStamp.html, doc/doc++/osg/MatrixNew.html, + doc/doc++/osg/MatrixNewProduct.html, doc/doc++/osg/MatrixOld.html, + include/osg/FrameStamp, src/osg/FrameStamp.cpp: 1) new + implementation of the osg::Matrix class. Note details below. + 2) cleaned up osg::Timer, still in progress. My intent has been + to + pave the way for support for other OS's. + 3) new osg::FrameStamp class which has a frame number, reference + time for each frame to be app, culled and drawn. The + FrameStamp + also can be passed to other machines (i.e. cluster) and the + FrameStamp can be used with the slaves own app,cull and draw. + I've also added the beginings of a calander time data to the + FrameStamp to allow time or day and year to be used in setting + up position of sun/moon etc. etc. + 4) The osg::State now has contains a pointer to the last applied + osg::Camera and the current osg::FrameStamp, so that drawables + can use both pieces of information for creating effects such + CLOD, earth/sky etc. The osg::NodeVisitor also now allows you + to attach a FrameStamp to support syncronization of actions on + the scene graph. + +2001-09-19 19:46 don + + * doc/doc++/osg/COMPARE_StateAttribute_Parameter.html, + doc/doc++/osg/COMPARE_StateAttribute_Types.html, + doc/doc++/osg/METANODE.html, doc/doc++/osg/METAOBJ.html, + doc/doc++/osg/META_Node.html, doc/doc++/osg/META_Object.html, + doc/doc++/osg/META_StateAttribute.html, + doc/doc++/osgUtil/OptimizeStateVisitor.html, + include/osgUtil/OptimizeStateVisitor, + src/osgUtil/OptimizeStateVisitor.cpp: 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. 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. + +2001-09-19 19:41 don + + * Metrowerks/Metrowerks.mcp, doc/doc++/osg/MatrixProduct.html, + doc/doc++/osg/NodeCallback.html, doc/doc++/osg/Viewport.html, + doc/doc++/osgUtil/AppVisitor.html, include/osg/Matrix.new, + include/osg/Matrix.old, include/osg/NodeCallback, + include/osg/Viewport, include/osgUtil/AppVisitor, + src/Demos/osgcluster/Makedepend, src/Demos/osgcluster/Makefile, + src/Demos/osgcluster/README, src/Demos/osgcluster/broadcaster.cpp, + src/Demos/osgcluster/broadcaster.h, + src/Demos/osgcluster/osgcluster.cpp, + src/Demos/osgcluster/receiver.cpp, src/Demos/osgcluster/receiver.h, + src/osg/Matrix.cpp.new, src/osg/Matrix.cpp.old, + src/osg/Viewport.cpp, src/osgUtil/AppVisitor.cpp: o Updated + Metrowerks files for MacOS. They aren't 100% there yet, + but getting there. + + o First cut of osgcluster demo. Very simple beginings. Alas + I only one PC here so I can't test it in its current guise. + + o New support for NodeCallbacks, via AppCallback attached to + osg::Node's, and a default osgUtil::AppVisitor which calls them + on + each frame. + + o Support for traversal masks in osg::NodeVisitor, osg::Node + which allows nodes to be switched on or off via a bit mask. + + o Suppport for traversal number (frame number) and reference time + into osg::NodeVisitor to handle syncronization of app and cull + traversals. This also assist clustering as traversal number + master to slaves. + +2001-09-19 19:21 don + + * AUTHORS, src/osgPlugins/lib3ds/atmosphere.cpp, + src/osgPlugins/lib3ds/atmosphere.h, + src/osgPlugins/lib3ds/background.cpp, + src/osgPlugins/lib3ds/background.h, + src/osgPlugins/lib3ds/camera.cpp, src/osgPlugins/lib3ds/camera.h, + src/osgPlugins/lib3ds/chunk.cpp, src/osgPlugins/lib3ds/chunk.h, + src/osgPlugins/lib3ds/chunktable.h, src/osgPlugins/lib3ds/ease.cpp, + src/osgPlugins/lib3ds/ease.h, src/osgPlugins/lib3ds/file.cpp, + src/osgPlugins/lib3ds/file.h, + src/osgPlugins/lib3ds/lib3ds_float.cpp, + src/osgPlugins/lib3ds/lib3ds_float.h, + src/osgPlugins/lib3ds/light.cpp, src/osgPlugins/lib3ds/light.h, + src/osgPlugins/lib3ds/material.cpp, + src/osgPlugins/lib3ds/material.h, src/osgPlugins/lib3ds/matrix.cpp, + src/osgPlugins/lib3ds/matrix.h, src/osgPlugins/lib3ds/mesh.cpp, + src/osgPlugins/lib3ds/mesh.h, src/osgPlugins/lib3ds/node.cpp, + src/osgPlugins/lib3ds/node.h, src/osgPlugins/lib3ds/quat.cpp, + src/osgPlugins/lib3ds/quat.h, src/osgPlugins/lib3ds/readwrite.cpp, + src/osgPlugins/lib3ds/readwrite.h, + src/osgPlugins/lib3ds/shadow.cpp, src/osgPlugins/lib3ds/shadow.h, + src/osgPlugins/lib3ds/tcb.cpp, src/osgPlugins/lib3ds/tcb.h, + src/osgPlugins/lib3ds/tracks.cpp, src/osgPlugins/lib3ds/tracks.h, + src/osgPlugins/lib3ds/types.h, src/osgPlugins/lib3ds/vector.cpp, + src/osgPlugins/lib3ds/vector.h, src/osgPlugins/lib3ds/viewport.cpp, + src/osgPlugins/lib3ds/viewport.h: 0.8.42 sync + +2001-09-19 17:50 don + + * include/osg/DCS, include/osg/DynamicLibrary, + include/osg/ExtensionSupported, include/osg/Field, + include/osg/FieldReader, include/osg/FieldReaderIterator, + include/osg/FileNameUtils, include/osg/GeoState, include/osg/Input, + include/osg/Lighting, include/osg/OSG, include/osg/Output, + include/osg/Registry, include/osg/Scene, include/osg/Seg, + include/osg/Sequence, include/osgUtil/RenderVisitor, + src/osg/DCS.cpp, src/osg/DynamicLibrary.cpp, + src/osg/ExtensionSupported.cpp, src/osg/Field.cpp, + src/osg/FieldReader.cpp, src/osg/FieldReaderIterator.cpp, + src/osg/FileNameUtils.cpp, src/osg/GeoState.cpp, src/osg/Input.cpp, + src/osg/OSG.cpp, src/osg/Output.cpp, src/osg/ReaderWriterOSG.cpp, + src/osg/ReaderWriterRGB.cpp, src/osg/Registry.cpp, + src/osg/Scene.cpp, src/osg/Seg.cpp, src/osg/Sequence.cpp, + src/osgPlugins/flt/export.h, src/osgPlugins/osgtgz/osgtgz.cpp, + src/osgUtil/RenderVisitor.cpp: Removed files.... synching witn + 0.8.42 + +2001-09-19 17:41 don + + * VisualStudio/Demos/cube/cube.dsp, + VisualStudio/osgPlugins/fly/fly.dsp, dist/.osg.spec.swp, + doc/Doxyfile, doc/osg/AlphaFunc.html, doc/osg/Billboard.html, + doc/osg/BoundingBox.html, doc/osg/BoundingSphere.html, + doc/osg/Camera.html, doc/osg/ClassGraph.class, + doc/osg/ClassGraphPanel.class, doc/osg/ClassLayout.class, + doc/osg/CullFace.html, doc/osg/DCS.html, + doc/osg/DynamicLibrary.html, doc/osg/ExtensionSupported.html, + doc/osg/Field.html, doc/osg/FieldReader.html, + doc/osg/FieldReaderIterator.html, doc/osg/Fog.html, + doc/osg/General.html, doc/osg/GeoSet.html, doc/osg/GeoState.html, + doc/osg/Geode.html, doc/osg/Group.html, doc/osg/HIER.html, + doc/osg/HIERjava.html, doc/osg/Hit.html, doc/osg/Image.html, + doc/osg/Input.html, doc/osg/IntersectState.html, + doc/osg/IntersectVisitor.html, doc/osg/LOD.html, + doc/osg/Light.html, doc/osg/LightSource.html, + doc/osg/Lighting.html, doc/osg/Material.html, doc/osg/Matrix.html, + doc/osg/MemoryAdapter.html, doc/osg/NavigatorButton.class, + doc/osg/Node.html, doc/osg/NodeAcceptOp.html, + doc/osg/NodePath.html, doc/osg/NodeVisitor.html, + doc/osg/NotifyInit.html, doc/osg/NotifySeverity.html, + doc/osg/Object.html, doc/osg/Output.html, doc/osg/Point.html, + doc/osg/PolygonOffset.html, doc/osg/Quat.html, doc/osg/RP.html, + doc/osg/ReaderWriter.html, doc/osg/Referenced.html, + doc/osg/RegisterObjectProxy.html, + doc/osg/RegisterReaderWriterProxy.html, doc/osg/Registry.html, + doc/osg/RenderVisitor.html, doc/osg/Scene.html, doc/osg/Seg.html, + doc/osg/Sequence.html, doc/osg/State.html, doc/osg/Switch.html, + doc/osg/TexEnv.html, doc/osg/TexGen.html, doc/osg/TexMat.html, + doc/osg/Texture.html, doc/osg/Timer.html, + doc/osg/Transparency.html, doc/osg/UnrefOp.html, doc/osg/Vec2.html, + doc/osg/Vec3.html, doc/osg/Vec4.html, doc/osg/ViewState.html, + doc/osg/createGeodeForImage.2.html, + doc/osg/createGeodeForImage.html, doc/osg/for_each_triangle.html, + doc/osg/icon1.gif, doc/osg/icon2.gif, doc/osg/index.html, + doc/osg/osg.html, doc/osg/osgGetLibraryName.html, + doc/osg/osgGetVersion.html, doc/osg/ref_ptr.html, + doc/osgGLUT/ClassGraph.class, doc/osgGLUT/ClassGraphPanel.class, + doc/osgGLUT/ClassLayout.class, doc/osgGLUT/GLUTEventAdapter.html, + doc/osgGLUT/General.html, doc/osgGLUT/HIER.html, + doc/osgGLUT/HIERjava.html, doc/osgGLUT/NavigatorButton.class, + doc/osgGLUT/Viewer.html, doc/osgGLUT/icon1.gif, + doc/osgGLUT/icon2.gif, doc/osgGLUT/index.html, + doc/osgGLUT/osgGLUT.html, doc/osgUtil/Camera.html, + doc/osgUtil/CameraManipulator.html, + doc/osgUtil/CameraTrackballManipulator.html, + doc/osgUtil/CameraZSpindleManipulator.html, + doc/osgUtil/ClassGraph.class, doc/osgUtil/ClassGraphPanel.class, + doc/osgUtil/ClassLayout.class, + doc/osgUtil/CompileGeoSetsVisitor.html, + doc/osgUtil/DisplayListVisitor.html, + doc/osgUtil/DriveManipulator.html, + doc/osgUtil/FlightManipulator.html, + doc/osgUtil/GUIActionAdapter.html, + doc/osgUtil/GUIEventAdapter.html, doc/osgUtil/GUIEventAdaptor.html, + doc/osgUtil/GUIUpdateState.html, doc/osgUtil/General.html, + doc/osgUtil/HIER.html, doc/osgUtil/HIERjava.html, + doc/osgUtil/Hit.html, doc/osgUtil/IntersectState.html, + doc/osgUtil/IntersectVisitor.html, + doc/osgUtil/NavigatorButton.class, doc/osgUtil/RenderVisitor.html, + doc/osgUtil/SceneView.html, doc/osgUtil/TrackballManipulator.html, + doc/osgUtil/ViewState.html, doc/osgUtil/icon1.gif, + doc/osgUtil/icon2.gif, doc/osgUtil/index.html, + doc/osgUtil/osgUtil.html, doc/osgUtil/osgUtilGetLibraryName.html, + doc/osgUtil/osgUtilGetVersion.html, src/Demos/cube/Makedepend, + src/Demos/cube/Makefile, src/Demos/cube/cube.cpp, + src/osgPlugins/fly/Makedepend, src/osgPlugins/fly/Makefile, + src/osgPlugins/fly/base.cpp, src/osgPlugins/fly/fly.cpp, + src/osgPlugins/fly/hat.cpp, src/osgPlugins/fly/hat.h, + src/osgPlugins/fly/matrix.cpp, src/osgPlugins/fly/matrix.h, + src/osgPlugins/fly/oldtrees.cpp, src/osgPlugins/fly/sky.cpp, + src/osgPlugins/fly/tank.cpp, src/osgPlugins/fly/terrain.cpp, + src/osgPlugins/fly/terrain_data.h, src/osgPlugins/fly/trees.cpp, + src/osgPlugins/fly/vector.cpp, src/osgPlugins/fly/vector.h, + src/osgPlugins/pfb/osg2pf/ConvertToPerformer.cpp, + src/osgPlugins/pfb/osg2pf/ConvertToPerformer.h, + src/osgPlugins/pfb/osg2pf/Makedepend, + src/osgPlugins/pfb/osg2pf/Makefile, + src/osgPlugins/pfb/osg2pf/Makefile.lib, + src/osgPlugins/pfb/osg2pf/osg2pf.cpp, + src/osgPlugins/pfb/pf2osg/ConvertFromPerformer.cpp, + src/osgPlugins/pfb/pf2osg/ConvertFromPerformer.h, + src/osgPlugins/pfb/pf2osg/Makedepend, + src/osgPlugins/pfb/pf2osg/Makefile, + src/osgPlugins/pfb/pf2osg/Makefile.lib, + src/osgPlugins/pfb/pf2osg/osg.cpp, + src/osgPlugins/pfb/pf2osg/pf2osg.cpp, + src/osgPlugins/pfb/pf2osg/pfb.cpp, src/osgPlugins/pfb/pf2osg/pfb.h: + And yet more clean up synch with 0.8.42 + +2001-09-19 17:19 don + + * INSTALL, Make/makedefs.freebsd, Make/makerules.freebsd, + doc/OpenSceneGraphBanner_Distribution.jpg, doc/sgv.html, + doc/doc++/osg/AlphaFunc.html, doc/doc++/osg/Billboard.html, + doc/doc++/osg/BoundingBox.html, doc/doc++/osg/BoundingSphere.html, + doc/doc++/osg/Camera.html, doc/doc++/osg/ClassGraph.class, + doc/doc++/osg/ClassGraphPanel.class, + doc/doc++/osg/ClassLayout.class, doc/doc++/osg/ClipPlane.html, + doc/doc++/osg/ClippingVolume.html, doc/doc++/osg/ColorMask.html, + doc/doc++/osg/CullFace.html, doc/doc++/osg/Depth.html, + doc/doc++/osg/Drawable.html, doc/doc++/osg/Fog.html, + doc/doc++/osg/FrontFace.html, doc/doc++/osg/General.html, + doc/doc++/osg/GeoSet.html, doc/doc++/osg/Geode.html, + doc/doc++/osg/Group.html, doc/doc++/osg/HIER.html, + doc/doc++/osg/HIERjava.html, doc/doc++/osg/Image.html, + doc/doc++/osg/Impostor.html, doc/doc++/osg/ImpostorSprite.html, + doc/doc++/osg/ImpostorSpriteManager.html, doc/doc++/osg/LOD.html, + doc/doc++/osg/Light.html, doc/doc++/osg/LightSource.html, + doc/doc++/osg/LineSegment.html, doc/doc++/osg/Material.html, + doc/doc++/osg/Matrix.html, doc/doc++/osg/MemoryAdapter.html, + doc/doc++/osg/NavigatorButton.class, doc/doc++/osg/Node.html, + doc/doc++/osg/NodeAcceptOp.html, doc/doc++/osg/NodePath.html, + doc/doc++/osg/NodeVisitor.html, doc/doc++/osg/NotifySeverity.html, + doc/doc++/osg/OSG_GL_DEBUG.html, doc/doc++/osg/Object.html, + doc/doc++/osg/Plane.html, doc/doc++/osg/Point.html, + doc/doc++/osg/PolygonMode.html, doc/doc++/osg/PolygonOffset.html, + doc/doc++/osg/Quat.html, doc/doc++/osg/Referenced.html, + doc/doc++/osg/State.html, doc/doc++/osg/StateAttribute.html, + doc/doc++/osg/StateSet.html, doc/doc++/osg/Stencil.html, + doc/doc++/osg/Switch.html, doc/doc++/osg/TexEnv.html, + doc/doc++/osg/TexGen.html, doc/doc++/osg/TexMat.html, + doc/doc++/osg/Texture.html, doc/doc++/osg/Timer.html, + doc/doc++/osg/Transform.html, doc/doc++/osg/Transparency.html, + doc/doc++/osg/Vec2.html, doc/doc++/osg/Vec3.html, + doc/doc++/osg/Vec4.html, + doc/doc++/osg/clampArray3BetweenRange.html, + doc/doc++/osg/clampArray3GEQUAL.html, + doc/doc++/osg/clampArray3LEQUAL.html, + doc/doc++/osg/clampArray4BetweenRange.html, + doc/doc++/osg/clampArray4GEQUAL.html, + doc/doc++/osg/clampArray4LEQUAL.html, + doc/doc++/osg/clampArrayElementBetweenRange.html, + doc/doc++/osg/clampArrayElementGEQUAL.html, + doc/doc++/osg/clampArrayElementLEQUAL.html, + doc/doc++/osg/clampArrayElementsBetweenRange.html, + doc/doc++/osg/clampArrayElementsGEQUAL.html, + doc/doc++/osg/clampArrayElementsLEQUAL.html, + doc/doc++/osg/clampBetweenRange.html, + doc/doc++/osg/clampGEQUAL.html, doc/doc++/osg/clampLEQUAL.html, + doc/doc++/osg/createGeodeForImage.2.html, + doc/doc++/osg/createGeodeForImage.html, + doc/doc++/osg/for_each_triangle.html, + doc/doc++/osg/g_NotifyLevel.html, + doc/doc++/osg/getGLExtensionFuncPtr.html, + doc/doc++/osg/getNotifyLevel.html, doc/doc++/osg/icon1.gif, + doc/doc++/osg/icon2.gif, doc/doc++/osg/index.html, + doc/doc++/osg/initNotifyLevel.html, + doc/doc++/osg/isGLExtensionSupported.html, + doc/doc++/osg/mem_ptr.html, doc/doc++/osg/notify.html, + doc/doc++/osg/osg.html, doc/doc++/osg/osgGetLibraryName.html, + doc/doc++/osg/osgGetVersion.html, doc/doc++/osg/ref_ptr.html, + doc/doc++/osg/setNotifyLevel.html, + doc/doc++/osgDB/ClassGraph.class, + doc/doc++/osgDB/ClassGraphPanel.class, + doc/doc++/osgDB/ClassLayout.class, + doc/doc++/osgDB/DirectoryContents.html, + doc/doc++/osgDB/DotOsgWrapper.html, + doc/doc++/osgDB/DynamicLibrary.html, doc/doc++/osgDB/Field.html, + doc/doc++/osgDB/FieldReader.html, + doc/doc++/osgDB/FieldReaderIterator.html, + doc/doc++/osgDB/General.html, doc/doc++/osgDB/HIER.html, + doc/doc++/osgDB/HIERjava.html, doc/doc++/osgDB/Input.html, + doc/doc++/osgDB/NavigatorButton.class, doc/doc++/osgDB/Output.html, + doc/doc++/osgDB/ReaderWriter.html, + doc/doc++/osgDB/RegisterDotOsgWrapperProxy.html, + doc/doc++/osgDB/RegisterReaderWriterProxy.html, + doc/doc++/osgDB/Registry.html, doc/doc++/osgDB/findDSO.html, + doc/doc++/osgDB/findFile.html, + doc/doc++/osgDB/findFileInDirectory.html, + doc/doc++/osgDB/getDirectoryContents.html, + doc/doc++/osgDB/getFilePath.html, doc/doc++/osgDB/icon1.gif, + doc/doc++/osgDB/icon2.gif, doc/doc++/osgDB/index.html, + doc/doc++/osgDB/initFilePath.html, doc/doc++/osgDB/osgDB.html, + doc/doc++/osgDB/osgDBGetLibraryName.html, + doc/doc++/osgDB/osgDBGetVersion.html, + doc/doc++/osgDB/readImageFile.html, + doc/doc++/osgDB/readNodeFile.html, + doc/doc++/osgDB/readObjectFile.html, + doc/doc++/osgDB/setFilePath.html, + doc/doc++/osgDB/writeImageFile.html, + doc/doc++/osgDB/writeNodeFile.html, + doc/doc++/osgDB/writeObjectFile.html, + doc/doc++/osgGLUT/ClassGraph.class, + doc/doc++/osgGLUT/ClassGraphPanel.class, + doc/doc++/osgGLUT/ClassLayout.class, + doc/doc++/osgGLUT/GLUTEventAdapter.html, + doc/doc++/osgGLUT/General.html, doc/doc++/osgGLUT/HIER.html, + doc/doc++/osgGLUT/HIERjava.html, + doc/doc++/osgGLUT/NavigatorButton.class, + doc/doc++/osgGLUT/Viewer.html, doc/doc++/osgGLUT/icon1.gif, + doc/doc++/osgGLUT/icon2.gif, doc/doc++/osgGLUT/index.html, + doc/doc++/osgGLUT/osgGLUT.html, + doc/doc++/osgGLUT/osgGLUTGetLibraryName.html, + doc/doc++/osgGLUT/osgGLUTGetVersion.html, + doc/doc++/osgUtil/BufferRequirementsVisitor.html, + doc/doc++/osgUtil/CameraManipulator.html, + doc/doc++/osgUtil/ClassGraph.class, + doc/doc++/osgUtil/ClassGraphPanel.class, + doc/doc++/osgUtil/ClassLayout.class, + doc/doc++/osgUtil/CullViewState.html, + doc/doc++/osgUtil/CullVisitor.html, + doc/doc++/osgUtil/DepthSortedBin.html, + doc/doc++/osgUtil/DisplayListVisitor.html, + doc/doc++/osgUtil/DriveManipulator.html, + doc/doc++/osgUtil/FlightManipulator.html, + doc/doc++/osgUtil/GUIActionAdapter.html, + doc/doc++/osgUtil/GUIEventAdapter.html, + doc/doc++/osgUtil/GUIEventHandler.html, + doc/doc++/osgUtil/General.html, doc/doc++/osgUtil/HIER.html, + doc/doc++/osgUtil/HIERjava.html, doc/doc++/osgUtil/Hit.html, + doc/doc++/osgUtil/InsertImpostorsVisitor.html, + doc/doc++/osgUtil/IntersectState.html, + doc/doc++/osgUtil/IntersectVisitor.html, + doc/doc++/osgUtil/NavigatorButton.class, + doc/doc++/osgUtil/OptimizeVisitor.html, + doc/doc++/osgUtil/RegisterRenderBinProxy.html, + doc/doc++/osgUtil/RenderBin.html, + doc/doc++/osgUtil/RenderGraph.html, + doc/doc++/osgUtil/RenderLeaf.html, + doc/doc++/osgUtil/RenderStage.html, + doc/doc++/osgUtil/RenderStageLighting.html, + doc/doc++/osgUtil/RenderToTextureStage.html, + doc/doc++/osgUtil/SceneView.html, + doc/doc++/osgUtil/SceneViewManipulator.html, + doc/doc++/osgUtil/SmoothingVisitor.html, + doc/doc++/osgUtil/StateSetManipulator.html, + doc/doc++/osgUtil/Statistics.html, + doc/doc++/osgUtil/Tesselator.html, + doc/doc++/osgUtil/TrackballManipulator.html, + doc/doc++/osgUtil/TriStripVisitor.html, + doc/doc++/osgUtil/VisualsRequirementsVisitor.html, + doc/doc++/osgUtil/icon1.gif, doc/doc++/osgUtil/icon2.gif, + doc/doc++/osgUtil/index.html, doc/doc++/osgUtil/osgUtil.html, + doc/doc++/osgUtil/osgUtilGetLibraryName.html, + doc/doc++/osgUtil/osgUtilGetVersion.html, + doc/doc++/osgWX/ClassGraph.class, + doc/doc++/osgWX/ClassGraphPanel.class, + doc/doc++/osgWX/ClassLayout.class, doc/doc++/osgWX/General.html, + doc/doc++/osgWX/HIER.html, doc/doc++/osgWX/HIERjava.html, + doc/doc++/osgWX/NavigatorButton.class, + doc/doc++/osgWX/WXEventAdapter.html, doc/doc++/osgWX/icon1.gif, + doc/doc++/osgWX/icon2.gif, doc/doc++/osgWX/index.html, + doc/doc++/osgWX/osgWX.html, + doc/doc++/osgWX/osgWXGetLibraryName.html, + doc/doc++/osgWX/osgWXGetVersion.html, include/osg/BoundsChecking, + include/osg/ClipPlane, include/osg/ClippingVolume, + include/osg/ColorMask, include/osg/Depth, include/osg/Drawable, + include/osg/FrontFace, include/osg/GLExtensions, + include/osg/Impostor, include/osg/ImpostorSprite, + include/osg/LineSegment, include/osg/MemoryAdapter, + include/osg/Plane, include/osg/PolygonMode, + include/osg/StateAttribute, include/osg/StateSet, + include/osg/Stencil, include/osg/Transform, include/osg/mem_ptr, + include/osg/ref_ptr, include/osgUtil/CullViewState, + include/osgUtil/CullVisitor, include/osgUtil/DepthSortedBin, + include/osgUtil/GUIEventHandler, + include/osgUtil/InsertImpostorsVisitor, include/osgUtil/RenderBin, + include/osgUtil/RenderGraph, include/osgUtil/RenderLeaf, + include/osgUtil/RenderStage, include/osgUtil/RenderStageLighting, + include/osgUtil/RenderToTextureStage, + include/osgUtil/SceneViewManipulator, + include/osgUtil/SmoothingVisitor, + include/osgUtil/StateSetManipulator, include/osgUtil/Statistics, + include/osgUtil/Tesselator, include/osgUtil/TriStripVisitor, + include/osgUtil/VisualsRequirementsVisitor, + src/Demos/osgreflect/Makedepend, src/Demos/osgreflect/Makefile, + src/Demos/osgreflect/osgreflect.cpp, src/Demos/sgv/README, + src/osg/ClipPlane.cpp, src/osg/ColorMask.cpp, src/osg/Depth.cpp, + src/osg/Drawable.cpp, src/osg/FrontFace.cpp, + src/osg/GLExtensions.cpp, src/osg/Impostor.cpp, + src/osg/ImpostorSprite.cpp, src/osg/LineSegment.cpp, + src/osg/Makedepend, src/osg/PolygonMode.cpp, src/osg/State.cpp, + src/osg/StateSet.cpp, src/osg/Stencil.cpp, src/osg/Transform.cpp, + src/osgPlugins/flt/OldMaterialPaletteRecord.cpp, + src/osgPlugins/flt/OldMaterialPaletteRecord.h, + src/osgPlugins/osgtgz/ReaderWriterOSGTGZ.cpp, + src/osgPlugins/png/new_ReaderWriterPNG.cpp, + src/osgPlugins/png/prev_ReaderWriterPNG.cpp, + src/osgUtil/CullViewState.cpp, src/osgUtil/CullVisitor.cpp, + src/osgUtil/DepthSortedBin.cpp, + src/osgUtil/InsertImpostorsVisitor.cpp, + src/osgUtil/NvTriStripObjects.cpp, src/osgUtil/NvTriStripObjects.h, + src/osgUtil/RenderBin.cpp, src/osgUtil/RenderGraph.cpp, + src/osgUtil/RenderLeaf.cpp, src/osgUtil/RenderStage.cpp, + src/osgUtil/RenderStageLighting.cpp, + src/osgUtil/RenderToTextureStage.cpp, + src/osgUtil/SceneViewManipulator.cpp, + src/osgUtil/SmoothingVisitor.cpp, + src/osgUtil/StateSetManipulator.cpp, src/osgUtil/Tesselator.cpp, + src/osgUtil/TriStripVisitor.cpp, + src/osgUtil/VisualsRequirementsVisitor.cpp: More clean up for synch + with 0.8.42 + +2001-09-19 17:10 don + + * src/Demos/osgtexture/: Makedepend, Makefile, osgtexture.cpp: + Added acompole more + +2001-09-19 17:07 don + + * AUTHORS, ChangeLog, FAQ, Makefile, NEWS, README, TODO, + index.html, Make/makedefs.irix.nonstd, Make/makedefs.irix.std, + Make/makedefs.linux, Make/makerules.irix, Make/makerules.linux, + Metrowerks/OpenSceneGraph.mcp, VisualStudio/VisualStudio.dsw, + VisualStudio/Demos/hangglide/hangglide.dsp, + VisualStudio/Demos/osgconv/osgconv.dsp, + VisualStudio/Demos/osgcube/osgcube.dsp, + VisualStudio/Demos/osgimpostor/osgimpostor.dsp, + VisualStudio/Demos/osgreflect/osgreflect.dsp, + VisualStudio/Demos/osgtexture/osgtexture.dsp, + VisualStudio/Demos/osgviews/osgviews.dsp, + VisualStudio/Demos/sgv/sgv.dsp, VisualStudio/Demos/wxsgv/wxsgv.dsp, + VisualStudio/osg/osg.dsp, VisualStudio/osgDB/osgDB.dsp, + VisualStudio/osgGLUT/osgGLUT.dsp, + VisualStudio/osgPlugins/dw/dw.dsp, + VisualStudio/osgPlugins/flt/flt.dsp, + VisualStudio/osgPlugins/gif/gif.dsp, + VisualStudio/osgPlugins/jpeg/jpeg.dsp, + VisualStudio/osgPlugins/lib3ds/lib3ds.dsp, + VisualStudio/osgPlugins/lwo/lwo.dsp, + VisualStudio/osgPlugins/obj/obj.dsp, + VisualStudio/osgPlugins/osg/dot_osg.dsp, + VisualStudio/osgPlugins/osgtgz/osgtgz.dsp, + VisualStudio/osgPlugins/pic/pic.dsp, + VisualStudio/osgPlugins/png/png.dsp, + VisualStudio/osgPlugins/rgb/rgb.dsp, + VisualStudio/osgPlugins/tga/tga.dsp, + VisualStudio/osgPlugins/tgz/tgz.dsp, + VisualStudio/osgPlugins/tiff/tiff.dsp, + VisualStudio/osgPlugins/zip/zip.dsp, + VisualStudio/osgUtil/osgUtil.dsp, VisualStudio/osgWX/osgWX.dsp, + dist/RedHatRPM/osg.spec, doc/index.html, + doc/Doxyfiles/all_Doxyfile, doc/Doxyfiles/auto_Doxyfile, + doc/Doxyfiles/auto_Mainpage, doc/Doxyfiles/core_Doxyfile, + doc/Doxyfiles/custom_Footer.html, include/osg/AlphaFunc, + include/osg/Billboard, include/osg/BoundingBox, + include/osg/BoundingSphere, include/osg/Camera, + include/osg/CullFace, include/osg/Export, include/osg/Fog, + include/osg/GL, include/osg/GeoSet, include/osg/Geode, + include/osg/Group, include/osg/Image, include/osg/LOD, + include/osg/Light, include/osg/LightSource, include/osg/Material, + include/osg/Matrix, include/osg/Node, include/osg/NodeVisitor, + include/osg/Notify, include/osg/Object, include/osg/Point, + include/osg/PolygonOffset, include/osg/Quat, + include/osg/Referenced, include/osg/State, include/osg/Switch, + include/osg/TexEnv, include/osg/TexGen, include/osg/TexMat, + include/osg/Texture, include/osg/Timer, include/osg/Transparency, + include/osg/Types, include/osg/Vec2, include/osg/Vec3, + include/osg/Vec4, include/osgDB/DotOsgWrapper, + include/osgDB/DynamicLibrary, include/osgDB/Export, + include/osgDB/Field, include/osgDB/FieldReader, + include/osgDB/FieldReaderIterator, include/osgDB/FileNameUtils, + include/osgDB/FileUtils, include/osgDB/Input, include/osgDB/Output, + include/osgDB/ReadFile, include/osgDB/ReaderWriter, + include/osgDB/Registry, include/osgDB/Version, + include/osgDB/WriteFile, include/osgGLUT/GLUTEventAdapter, + include/osgGLUT/Version, include/osgGLUT/Viewer, + include/osgUtil/CameraManipulator, + include/osgUtil/DisplayListVisitor, + include/osgUtil/DriveManipulator, + include/osgUtil/FlightManipulator, + include/osgUtil/GUIActionAdapter, include/osgUtil/GUIEventAdapter, + include/osgUtil/IntersectVisitor, include/osgUtil/SceneView, + include/osgUtil/TrackballManipulator, include/osgWX/Export, + include/osgWX/Version, include/osgWX/WXEventAdapter, src/Makefile, + src/Demos/Makefile, src/Demos/hangglide/GliderManipulator.cpp, + src/Demos/hangglide/GliderManipulator.h, + src/Demos/hangglide/Makedepend, src/Demos/hangglide/Makefile, + src/Demos/hangglide/README, + src/Demos/hangglide/ReaderWriterFLY.cpp, + src/Demos/hangglide/base.cpp, src/Demos/hangglide/hangglide.cpp, + src/Demos/hangglide/hat.cpp, src/Demos/hangglide/hat.h, + src/Demos/hangglide/sky.cpp, src/Demos/hangglide/tank.cpp, + src/Demos/hangglide/terrain.cpp, + src/Demos/hangglide/terrain_data.h, src/Demos/hangglide/trees.cpp, + src/Demos/osgconv/Makedepend, src/Demos/osgconv/Makefile, + src/Demos/osgconv/osgconv.cpp, src/Demos/osgcube/Makedepend, + src/Demos/osgcube/Makefile, src/Demos/osgcube/osgcube.cpp, + src/Demos/osgimpostor/Makedepend, src/Demos/osgimpostor/Makefile, + src/Demos/osgimpostor/README, + src/Demos/osgimpostor/osgimpostor.cpp, + src/Demos/osgviews/Makedepend, src/Demos/osgviews/Makefile, + src/Demos/osgviews/README, src/Demos/osgviews/osgviews.cpp, + src/Demos/sgv/Makefile, src/Demos/sgv/sgv.cpp, + src/Demos/wxsgv/Makedepend, src/Demos/wxsgv/Makefile, + src/Demos/wxsgv/SceneGraphDlg.cpp, src/Demos/wxsgv/SceneGraphDlg.h, + src/Demos/wxsgv/app.cpp, src/Demos/wxsgv/app.h, + src/Demos/wxsgv/canvas.cpp, src/Demos/wxsgv/canvas.h, + src/Demos/wxsgv/frame.cpp, src/Demos/wxsgv/frame.h, + src/Demos/wxsgv/wxsgv.rc, src/Demos/wxsgv/wxsgv.wdr, + src/Demos/wxsgv/wxsgv_wdr.cpp, src/Demos/wxsgv/wxsgv_wdr.h, + src/Demos/wxsgv/icons/camera.ico, src/Demos/wxsgv/icons/engine.ico, + src/Demos/wxsgv/icons/geom.ico, src/Demos/wxsgv/icons/group.ico, + src/Demos/wxsgv/icons/icon1.xpm, src/Demos/wxsgv/icons/icon10.xpm, + src/Demos/wxsgv/icons/icon2.xpm, src/Demos/wxsgv/icons/icon3.xpm, + src/Demos/wxsgv/icons/icon4.xpm, src/Demos/wxsgv/icons/icon5.xpm, + src/Demos/wxsgv/icons/icon6.xpm, src/Demos/wxsgv/icons/icon7.xpm, + src/Demos/wxsgv/icons/icon8.xpm, src/Demos/wxsgv/icons/icon9.xpm, + src/Demos/wxsgv/icons/light.ico, src/Demos/wxsgv/icons/lod.ico, + src/Demos/wxsgv/icons/mesh.ico, src/Demos/wxsgv/icons/top.ico, + src/Demos/wxsgv/icons/unknown.ico, src/Demos/wxsgv/icons/wxsgv.ico, + src/Demos/wxsgv/icons/wxsgv.xpm, src/Demos/wxsgv/icons/xform.ico, + src/osg/AlphaFunc.cpp, src/osg/Billboard.cpp, + src/osg/BoundingBox.cpp, src/osg/BoundingSphere.cpp, + src/osg/Camera.cpp, src/osg/CullFace.cpp, src/osg/Fog.cpp, + src/osg/GeoSet.cpp, src/osg/GeoSet_ogl.cpp, src/osg/Geode.cpp, + src/osg/Group.cpp, src/osg/Image.cpp, src/osg/LOD.cpp, + src/osg/Light.cpp, src/osg/LightSource.cpp, src/osg/Makefile, + src/osg/Material.cpp, src/osg/Matrix.cpp, src/osg/Node.cpp, + src/osg/NodeVisitor.cpp, src/osg/Notify.cpp, src/osg/Object.cpp, + src/osg/Point.cpp, src/osg/PolygonOffset.cpp, src/osg/Quat.cpp, + src/osg/Switch.cpp, src/osg/TexEnv.cpp, src/osg/TexGen.cpp, + src/osg/TexMat.cpp, src/osg/Texture.cpp, src/osg/Timer.cpp, + src/osg/Transparency.cpp, src/osg/Version.cpp, + src/osgDB/DotOsgWrapper.cpp, src/osgDB/DynamicLibrary.cpp, + src/osgDB/Field.cpp, src/osgDB/FieldReader.cpp, + src/osgDB/FieldReaderIterator.cpp, src/osgDB/FileNameUtils.cpp, + src/osgDB/FileUtils.cpp, src/osgDB/Input.cpp, src/osgDB/Makedepend, + src/osgDB/Makefile, src/osgDB/Output.cpp, src/osgDB/ReadFile.cpp, + src/osgDB/Registry.cpp, src/osgDB/Version.cpp, + src/osgDB/WriteFile.cpp, src/osgGLUT/GLUTEventAdapter.cpp, + src/osgGLUT/Makefile, src/osgGLUT/Version.cpp, + src/osgGLUT/Viewer.cpp, src/osgPlugins/Makefile, + src/osgPlugins/dw/Makedepend, src/osgPlugins/dw/Makefile, + src/osgPlugins/dw/ReaderWriterDW.cpp, + src/osgPlugins/flt/BoundingVolumeRecords.cpp, + src/osgPlugins/flt/BoundingVolumeRecords.h, + src/osgPlugins/flt/ColorPaletteRecord.cpp, + src/osgPlugins/flt/ColorPaletteRecord.h, + src/osgPlugins/flt/CommentRecord.cpp, + src/osgPlugins/flt/CommentRecord.h, + src/osgPlugins/flt/ControlRecord.cpp, + src/osgPlugins/flt/DofRecord.cpp, src/osgPlugins/flt/DofRecord.h, + src/osgPlugins/flt/ExtensionRecord.cpp, + src/osgPlugins/flt/ExtensionRecord.h, + src/osgPlugins/flt/ExternalRecord.cpp, + src/osgPlugins/flt/ExternalRecord.h, + src/osgPlugins/flt/FaceRecord.cpp, src/osgPlugins/flt/FaceRecord.h, + src/osgPlugins/flt/FltFile.cpp, src/osgPlugins/flt/FltFile.h, + src/osgPlugins/flt/FltRecords.h, + src/osgPlugins/flt/GeoSetBuilder.cpp, + src/osgPlugins/flt/GeoSetBuilder.h, + src/osgPlugins/flt/GroupRecord.cpp, + src/osgPlugins/flt/GroupRecord.h, + src/osgPlugins/flt/HeaderRecord.cpp, + src/osgPlugins/flt/HeaderRecord.h, src/osgPlugins/flt/Input.cpp, + src/osgPlugins/flt/InstanceRecords.cpp, + src/osgPlugins/flt/InstanceRecords.h, + src/osgPlugins/flt/LightPointRecord.cpp, + src/osgPlugins/flt/LightPointRecord.h, + src/osgPlugins/flt/LightSourcePaletteRecord.cpp, + src/osgPlugins/flt/LightSourcePaletteRecord.h, + src/osgPlugins/flt/LightSourceRecord.cpp, + src/osgPlugins/flt/LightSourceRecord.h, + src/osgPlugins/flt/LodRecord.cpp, src/osgPlugins/flt/LodRecord.h, + src/osgPlugins/flt/LongIDRecord.cpp, + src/osgPlugins/flt/LongIDRecord.h, src/osgPlugins/flt/Makefile, + src/osgPlugins/flt/MaterialPaletteRecord.cpp, + src/osgPlugins/flt/MaterialPaletteRecord.h, + src/osgPlugins/flt/ObjectRecord.cpp, + src/osgPlugins/flt/ObjectRecord.h, + src/osgPlugins/flt/OldVertexRecords.cpp, + src/osgPlugins/flt/OldVertexRecords.h, src/osgPlugins/flt/Pool.cpp, + src/osgPlugins/flt/Pool.h, src/osgPlugins/flt/ReaderWriterFLT.cpp, + src/osgPlugins/flt/ReaderWriterFLT.h, + src/osgPlugins/flt/Record.cpp, src/osgPlugins/flt/Record.h, + src/osgPlugins/flt/RecordVisitor.cpp, + src/osgPlugins/flt/RecordVisitor.h, + src/osgPlugins/flt/Registry.cpp, src/osgPlugins/flt/Registry.h, + src/osgPlugins/flt/SwitchRecord.cpp, + src/osgPlugins/flt/SwitchRecord.h, + src/osgPlugins/flt/TextureMappingPaletteRecord.cpp, + src/osgPlugins/flt/TextureMappingPaletteRecord.h, + src/osgPlugins/flt/TexturePaletteRecord.cpp, + src/osgPlugins/flt/TexturePaletteRecord.h, + src/osgPlugins/flt/TransformationRecords.cpp, + src/osgPlugins/flt/TransformationRecords.h, + src/osgPlugins/flt/UnknownRecord.cpp, + src/osgPlugins/flt/VertexPoolRecords.cpp, + src/osgPlugins/flt/VertexPoolRecords.h, src/osgPlugins/flt/flt.cpp, + src/osgPlugins/flt/flt.h, src/osgPlugins/flt/flt2osg.cpp, + src/osgPlugins/flt/flt2osg.h, src/osgPlugins/flt/opcodes.h, + src/osgPlugins/gif/Makefile, + src/osgPlugins/gif/ReaderWriterGIF.cpp, + src/osgPlugins/jpeg/Makefile, + src/osgPlugins/jpeg/ReaderWriterJPEG.cpp, + src/osgPlugins/lib3ds/AUTHORS, src/osgPlugins/lib3ds/Makedepend, + src/osgPlugins/lib3ds/Makefile, src/osgPlugins/lib3ds/README, + src/osgPlugins/lib3ds/ReaderWriter3DS.cpp, + src/osgPlugins/lib3ds/atmosphere.cpp, + src/osgPlugins/lib3ds/atmosphere.h, + src/osgPlugins/lib3ds/background.cpp, + src/osgPlugins/lib3ds/background.h, + src/osgPlugins/lib3ds/camera.cpp, src/osgPlugins/lib3ds/camera.h, + src/osgPlugins/lib3ds/chunk.cpp, src/osgPlugins/lib3ds/chunk.h, + src/osgPlugins/lib3ds/chunktable.h, src/osgPlugins/lib3ds/ease.cpp, + src/osgPlugins/lib3ds/ease.h, src/osgPlugins/lib3ds/file.cpp, + src/osgPlugins/lib3ds/file.h, + src/osgPlugins/lib3ds/lib3ds_float.cpp, + src/osgPlugins/lib3ds/lib3ds_float.h, + src/osgPlugins/lib3ds/light.cpp, src/osgPlugins/lib3ds/light.h, + src/osgPlugins/lib3ds/material.cpp, + src/osgPlugins/lib3ds/material.h, src/osgPlugins/lib3ds/matrix.cpp, + src/osgPlugins/lib3ds/matrix.h, src/osgPlugins/lib3ds/mesh.cpp, + src/osgPlugins/lib3ds/mesh.h, src/osgPlugins/lib3ds/node.cpp, + src/osgPlugins/lib3ds/node.h, src/osgPlugins/lib3ds/quat.cpp, + src/osgPlugins/lib3ds/quat.h, src/osgPlugins/lib3ds/readwrite.cpp, + src/osgPlugins/lib3ds/readwrite.h, + src/osgPlugins/lib3ds/shadow.cpp, src/osgPlugins/lib3ds/shadow.h, + src/osgPlugins/lib3ds/tcb.cpp, src/osgPlugins/lib3ds/tcb.h, + src/osgPlugins/lib3ds/tracks.cpp, src/osgPlugins/lib3ds/tracks.h, + src/osgPlugins/lib3ds/types.h, src/osgPlugins/lib3ds/vector.cpp, + src/osgPlugins/lib3ds/vector.h, src/osgPlugins/lib3ds/viewport.cpp, + src/osgPlugins/lib3ds/viewport.h, src/osgPlugins/lwo/COPYING, + src/osgPlugins/lwo/Makedepend, src/osgPlugins/lwo/Makefile, + src/osgPlugins/lwo/README, src/osgPlugins/lwo/README.osg, + src/osgPlugins/lwo/ReaderWriterLWO.cpp, src/osgPlugins/lwo/lw.cpp, + src/osgPlugins/lwo/lw.h, src/osgPlugins/lwo/spec_lwob.txt, + src/osgPlugins/obj/Makedepend, src/osgPlugins/obj/Makefile, + src/osgPlugins/obj/README.osg, + src/osgPlugins/obj/ReaderWriterOBJ.cpp, src/osgPlugins/obj/glm.cpp, + src/osgPlugins/obj/glm.h, src/osgPlugins/obj/spec_obj.txt, + src/osgPlugins/osg/AlphaFunc.cpp, src/osgPlugins/osg/Billboard.cpp, + src/osgPlugins/osg/ClipPlane.cpp, src/osgPlugins/osg/ColorMask.cpp, + src/osgPlugins/osg/CullFace.cpp, src/osgPlugins/osg/Depth.cpp, + src/osgPlugins/osg/Drawable.cpp, src/osgPlugins/osg/Fog.cpp, + src/osgPlugins/osg/FrontFace.cpp, src/osgPlugins/osg/GeoSet.cpp, + src/osgPlugins/osg/Geode.cpp, src/osgPlugins/osg/Group.cpp, + src/osgPlugins/osg/Image.cpp, src/osgPlugins/osg/Impostor.cpp, + src/osgPlugins/osg/LOD.cpp, src/osgPlugins/osg/Light.cpp, + src/osgPlugins/osg/LightSource.cpp, src/osgPlugins/osg/Makedepend, + src/osgPlugins/osg/Makefile, src/osgPlugins/osg/Material.cpp, + src/osgPlugins/osg/Matrix.cpp, src/osgPlugins/osg/Node.cpp, + src/osgPlugins/osg/Object.cpp, src/osgPlugins/osg/Point.cpp, + src/osgPlugins/osg/PolygonMode.cpp, + src/osgPlugins/osg/PolygonOffset.cpp, src/osgPlugins/osg/README, + src/osgPlugins/osg/ReaderWriterOSG.cpp, + src/osgPlugins/osg/StateSet.cpp, src/osgPlugins/osg/Stencil.cpp, + src/osgPlugins/osg/Switch.cpp, src/osgPlugins/osg/TexEnv.cpp, + src/osgPlugins/osg/TexGen.cpp, src/osgPlugins/osg/TexMat.cpp, + src/osgPlugins/osg/Texture.cpp, src/osgPlugins/osg/Transform.cpp, + src/osgPlugins/osg/Transparency.cpp, + src/osgPlugins/osgtgz/Makefile, + src/osgPlugins/pfb/ConvertFromPerformer.cpp, + src/osgPlugins/pfb/ConvertFromPerformer.h, + src/osgPlugins/pfb/ConvertToPerformer.cpp, + src/osgPlugins/pfb/ConvertToPerformer.h, + src/osgPlugins/pfb/Makefile, + src/osgPlugins/pfb/ReaderWriterPFB.cpp, + src/osgPlugins/pic/ReaderWriterPIC.cpp, + src/osgPlugins/png/ReaderWriterPNG.cpp, + src/osgPlugins/rgb/Makedepend, src/osgPlugins/rgb/Makefile, + src/osgPlugins/rgb/ReaderWriterRGB.cpp, + src/osgPlugins/tga/ReaderWriterTGA.cpp, + src/osgPlugins/tgz/ReaderWriterTGZ.cpp, + src/osgPlugins/tiff/Makefile, + src/osgPlugins/tiff/ReaderWriterTIFF.cpp, + src/osgPlugins/zip/ReaderWriterZIP.cpp, + src/osgUtil/CameraManipulator.cpp, + src/osgUtil/DisplayListVisitor.cpp, + src/osgUtil/DriveManipulator.cpp, + src/osgUtil/FlightManipulator.cpp, + src/osgUtil/IntersectVisitor.cpp, src/osgUtil/Makefile, + src/osgUtil/SceneView.cpp, src/osgUtil/TrackballManipulator.cpp, + src/osgUtil/Version.cpp, src/osgWX/Makedepend, src/osgWX/Makefile, + src/osgWX/Version.cpp, src/osgWX/WXEventAdapter.cpp: Added a bunch + of files synched with 0.8.42 + +2001-01-12 12:34 don + + * src/osg/: Makedepend, OSG.cpp: Removed Makedepend for osg + repository. No Makedepends should be in the repository + +2001-01-10 12:19 don + + * src/osg/: Makedepend, OSG.cpp: Fixed the findDSO error which + excluded PATH on win32 and LD_LIBRARY_PATH in UNIX. + +2001-01-10 11:32 don + + * AUTHORS, COPYING, ChangeLog, FAQ, Makefile, NEWS, README, TODO, + index.html, Make/instrules, Make/makedefs.irix.nonstd, + Make/makedefs.irix.std, Make/makedefs.linux, Make/makerules.irix, + Make/makerules.linux, VisualStudio/VisualStudio.dsw, + VisualStudio/Demos/cube/cube.dsp, VisualStudio/Demos/sgv/sgv.dsp, + VisualStudio/osg/osg.dsp, VisualStudio/osgGLUT/osgGLUT.dsp, + VisualStudio/osgPlugins/flt/flt.dsp, + VisualStudio/osgPlugins/fly/fly.dsp, + VisualStudio/osgPlugins/gif/gif.dsp, + VisualStudio/osgPlugins/jpeg/jpeg.dsp, + VisualStudio/osgPlugins/pic/pic.dsp, + VisualStudio/osgPlugins/png/png.dsp, + VisualStudio/osgPlugins/tga/tga.dsp, + VisualStudio/osgPlugins/tiff/tiff.dsp, + VisualStudio/osgUtil/osgUtil.dsp, dist/.osg.spec.swp, + dist/Irix/Makefile, dist/Irix/osg.idb, dist/Irix/osg.spec, + dist/RedHatRPM/Makefile, dist/RedHatRPM/makespec, + dist/RedHatRPM/osg.spec, doc/Doxyfile, doc/index.html, + doc/MindMaps/DesignPatterns.mmp, doc/MindMaps/Mission.mmp, + doc/MindMaps/DesignPatterns/DesignPatterns.gif, + doc/MindMaps/DesignPatterns/DesignPatterns.html, + doc/MindMaps/Mission/Mission.gif, + doc/MindMaps/Mission/Mission.html, doc/UML/osg.png, + doc/UML/osgutils.png, doc/osg/AlphaFunc.html, + doc/osg/Billboard.html, doc/osg/BoundingBox.html, + doc/osg/BoundingSphere.html, doc/osg/Camera.html, + doc/osg/ClassGraph.class, doc/osg/ClassGraphPanel.class, + doc/osg/ClassLayout.class, doc/osg/CullFace.html, doc/osg/DCS.html, + doc/osg/DynamicLibrary.html, doc/osg/ExtensionSupported.html, + doc/osg/Field.html, doc/osg/FieldReader.html, + doc/osg/FieldReaderIterator.html, doc/osg/Fog.html, + doc/osg/General.html, doc/osg/GeoSet.html, doc/osg/GeoState.html, + doc/osg/Geode.html, doc/osg/Group.html, doc/osg/HIER.html, + doc/osg/HIERjava.html, doc/osg/Hit.html, doc/osg/Image.html, + doc/osg/Input.html, doc/osg/IntersectState.html, + doc/osg/IntersectVisitor.html, doc/osg/LOD.html, + doc/osg/Light.html, doc/osg/LightSource.html, + doc/osg/Lighting.html, doc/osg/Material.html, doc/osg/Matrix.html, + doc/osg/MemoryAdapter.html, doc/osg/NavigatorButton.class, + doc/osg/Node.html, doc/osg/NodeAcceptOp.html, + doc/osg/NodePath.html, doc/osg/NodeVisitor.html, + doc/osg/NotifyInit.html, doc/osg/NotifySeverity.html, + doc/osg/Object.html, doc/osg/Output.html, doc/osg/Point.html, + doc/osg/PolygonOffset.html, doc/osg/Quat.html, doc/osg/RP.html, + doc/osg/ReaderWriter.html, doc/osg/Referenced.html, + doc/osg/RegisterObjectProxy.html, + doc/osg/RegisterReaderWriterProxy.html, doc/osg/Registry.html, + doc/osg/RenderVisitor.html, doc/osg/Scene.html, doc/osg/Seg.html, + doc/osg/Sequence.html, doc/osg/State.html, doc/osg/Switch.html, + doc/osg/TexEnv.html, doc/osg/TexGen.html, doc/osg/TexMat.html, + doc/osg/Texture.html, doc/osg/Timer.html, + doc/osg/Transparency.html, doc/osg/UnrefOp.html, doc/osg/Vec2.html, + doc/osg/Vec3.html, doc/osg/Vec4.html, doc/osg/ViewState.html, + doc/osg/createGeodeForImage.2.html, + doc/osg/createGeodeForImage.html, doc/osg/for_each_triangle.html, + doc/osg/icon1.gif, doc/osg/icon2.gif, doc/osg/index.html, + doc/osg/osg.html, doc/osg/osgGetLibraryName.html, + doc/osg/osgGetVersion.html, doc/osg/ref_ptr.html, + doc/osgGLUT/ClassGraph.class, doc/osgGLUT/ClassGraphPanel.class, + doc/osgGLUT/ClassLayout.class, doc/osgGLUT/GLUTEventAdapter.html, + doc/osgGLUT/General.html, doc/osgGLUT/HIER.html, + doc/osgGLUT/HIERjava.html, doc/osgGLUT/NavigatorButton.class, + doc/osgGLUT/Viewer.html, doc/osgGLUT/icon1.gif, + doc/osgGLUT/icon2.gif, doc/osgGLUT/index.html, + doc/osgGLUT/osgGLUT.html, doc/osgUtil/Camera.html, + doc/osgUtil/CameraManipulator.html, + doc/osgUtil/CameraTrackballManipulator.html, + doc/osgUtil/CameraZSpindleManipulator.html, + doc/osgUtil/ClassGraph.class, doc/osgUtil/ClassGraphPanel.class, + doc/osgUtil/ClassLayout.class, + doc/osgUtil/CompileGeoSetsVisitor.html, + doc/osgUtil/DisplayListVisitor.html, + doc/osgUtil/DriveManipulator.html, + doc/osgUtil/FlightManipulator.html, + doc/osgUtil/GUIActionAdapter.html, + doc/osgUtil/GUIEventAdapter.html, doc/osgUtil/GUIEventAdaptor.html, + doc/osgUtil/GUIUpdateState.html, doc/osgUtil/General.html, + doc/osgUtil/HIER.html, doc/osgUtil/HIERjava.html, + doc/osgUtil/Hit.html, doc/osgUtil/IntersectState.html, + doc/osgUtil/IntersectVisitor.html, + doc/osgUtil/NavigatorButton.class, doc/osgUtil/RenderVisitor.html, + doc/osgUtil/SceneView.html, doc/osgUtil/TrackballManipulator.html, + doc/osgUtil/ViewState.html, doc/osgUtil/icon1.gif, + doc/osgUtil/icon2.gif, doc/osgUtil/index.html, + doc/osgUtil/osgUtil.html, doc/osgUtil/osgUtilGetLibraryName.html, + doc/osgUtil/osgUtilGetVersion.html, include/osg/AlphaFunc, + include/osg/Billboard, include/osg/BoundingBox, + include/osg/BoundingSphere, include/osg/Camera, + include/osg/CullFace, include/osg/DCS, include/osg/DynamicLibrary, + include/osg/Export, include/osg/ExtensionSupported, + include/osg/Field, include/osg/FieldReader, + include/osg/FieldReaderIterator, include/osg/FileNameUtils, + include/osg/Fog, include/osg/GL, include/osg/GeoSet, + include/osg/GeoState, include/osg/Geode, include/osg/Group, + include/osg/Image, include/osg/Input, include/osg/LOD, + include/osg/Light, include/osg/LightSource, include/osg/Lighting, + include/osg/Material, include/osg/Matrix, include/osg/Node, + include/osg/NodeVisitor, include/osg/Notify, include/osg/OSG, + include/osg/Object, include/osg/Output, include/osg/Point, + include/osg/PolygonOffset, include/osg/Quat, + include/osg/Referenced, include/osg/Registry, include/osg/Scene, + include/osg/Seg, include/osg/Sequence, include/osg/State, + include/osg/Switch, include/osg/TexEnv, include/osg/TexGen, + include/osg/TexMat, include/osg/Texture, include/osg/Timer, + include/osg/Transparency, include/osg/Types, include/osg/Vec2, + include/osg/Vec3, include/osg/Vec4, include/osg/Version, + include/osgGLUT/Export, include/osgGLUT/GLUTEventAdapter, + include/osgGLUT/Version, include/osgGLUT/Viewer, + include/osgUtil/CameraManipulator, + include/osgUtil/DisplayListVisitor, + include/osgUtil/DriveManipulator, include/osgUtil/Export, + include/osgUtil/FlightManipulator, + include/osgUtil/GUIActionAdapter, include/osgUtil/GUIEventAdapter, + include/osgUtil/IntersectVisitor, include/osgUtil/RenderVisitor, + include/osgUtil/SceneView, include/osgUtil/TrackballManipulator, + include/osgUtil/Version, src/Makefile, src/Demos/Makefile, + src/Demos/cube/Makedepend, src/Demos/cube/Makefile, + src/Demos/cube/cube.cpp, src/Demos/sgv/Makedepend, + src/Demos/sgv/Makefile, src/Demos/sgv/sgv.cpp, + src/osg/AlphaFunc.cpp, src/osg/Billboard.cpp, + src/osg/BoundingBox.cpp, src/osg/BoundingSphere.cpp, + src/osg/Camera.cpp, src/osg/CullFace.cpp, src/osg/DCS.cpp, + src/osg/DynamicLibrary.cpp, src/osg/ExtensionSupported.cpp, + src/osg/Field.cpp, src/osg/FieldReader.cpp, + src/osg/FieldReaderIterator.cpp, src/osg/FileNameUtils.cpp, + src/osg/Fog.cpp, src/osg/GeoSet.cpp, src/osg/GeoSet_ogl.cpp, + src/osg/GeoState.cpp, src/osg/Geode.cpp, src/osg/Group.cpp, + src/osg/Image.cpp, src/osg/Input.cpp, src/osg/LOD.cpp, + src/osg/Light.cpp, src/osg/LightSource.cpp, src/osg/Lighting.cpp, + src/osg/Makedepend, src/osg/Makefile, src/osg/Material.cpp, + src/osg/Matrix.cpp, src/osg/Node.cpp, src/osg/NodeVisitor.cpp, + src/osg/Notify.cpp, src/osg/OSG.cpp, src/osg/Object.cpp, + src/osg/Output.cpp, src/osg/Point.cpp, src/osg/PolygonOffset.cpp, + src/osg/Quat.cpp, src/osg/ReaderWriterOSG.cpp, + src/osg/ReaderWriterRGB.cpp, src/osg/Registry.cpp, + src/osg/Scene.cpp, src/osg/Seg.cpp, src/osg/Sequence.cpp, + src/osg/Switch.cpp, src/osg/TexEnv.cpp, src/osg/TexGen.cpp, + src/osg/TexMat.cpp, src/osg/Texture.cpp, src/osg/Timer.cpp, + src/osg/Transparency.cpp, src/osg/Version.cpp, + src/osgGLUT/GLUTEventAdapter.cpp, src/osgGLUT/Makedepend, + src/osgGLUT/Makefile, src/osgGLUT/Version.cpp, + src/osgGLUT/Viewer.cpp, src/osgPlugins/Makefile, + src/osgPlugins/flt/BoundingVolumeRecords.cpp, + src/osgPlugins/flt/BoundingVolumeRecords.h, + src/osgPlugins/flt/ColorPaletteRecord.cpp, + src/osgPlugins/flt/ColorPaletteRecord.h, + src/osgPlugins/flt/CommentRecord.cpp, + src/osgPlugins/flt/CommentRecord.h, + src/osgPlugins/flt/ControlRecord.cpp, + src/osgPlugins/flt/ControlRecord.h, + src/osgPlugins/flt/DofRecord.cpp, src/osgPlugins/flt/DofRecord.h, + src/osgPlugins/flt/ExtensionRecord.cpp, + src/osgPlugins/flt/ExtensionRecord.h, + src/osgPlugins/flt/ExternalRecord.cpp, + src/osgPlugins/flt/ExternalRecord.h, + src/osgPlugins/flt/FaceRecord.cpp, src/osgPlugins/flt/FaceRecord.h, + src/osgPlugins/flt/FltFile.cpp, src/osgPlugins/flt/FltFile.h, + src/osgPlugins/flt/FltRecords.h, + src/osgPlugins/flt/GeoSetBuilder.cpp, + src/osgPlugins/flt/GeoSetBuilder.h, + src/osgPlugins/flt/GroupRecord.cpp, + src/osgPlugins/flt/GroupRecord.h, + src/osgPlugins/flt/HeaderRecord.cpp, + src/osgPlugins/flt/HeaderRecord.h, src/osgPlugins/flt/Input.cpp, + src/osgPlugins/flt/Input.h, src/osgPlugins/flt/InstanceRecords.cpp, + src/osgPlugins/flt/InstanceRecords.h, + src/osgPlugins/flt/LightPointRecord.cpp, + src/osgPlugins/flt/LightPointRecord.h, + src/osgPlugins/flt/LightSourcePaletteRecord.cpp, + src/osgPlugins/flt/LightSourcePaletteRecord.h, + src/osgPlugins/flt/LightSourceRecord.cpp, + src/osgPlugins/flt/LightSourceRecord.h, + src/osgPlugins/flt/LodRecord.cpp, src/osgPlugins/flt/LodRecord.h, + src/osgPlugins/flt/LongIDRecord.cpp, + src/osgPlugins/flt/LongIDRecord.h, src/osgPlugins/flt/Makedepend, + src/osgPlugins/flt/Makefile, + src/osgPlugins/flt/MaterialPaletteRecord.cpp, + src/osgPlugins/flt/MaterialPaletteRecord.h, + src/osgPlugins/flt/ObjectRecord.cpp, + src/osgPlugins/flt/ObjectRecord.h, + src/osgPlugins/flt/OldVertexRecords.cpp, + src/osgPlugins/flt/OldVertexRecords.h, src/osgPlugins/flt/Pool.cpp, + src/osgPlugins/flt/Pool.h, src/osgPlugins/flt/ReaderWriterFLT.cpp, + src/osgPlugins/flt/ReaderWriterFLT.h, + src/osgPlugins/flt/Record.cpp, src/osgPlugins/flt/Record.h, + src/osgPlugins/flt/RecordVisitor.cpp, + src/osgPlugins/flt/RecordVisitor.h, + src/osgPlugins/flt/Registry.cpp, src/osgPlugins/flt/Registry.h, + src/osgPlugins/flt/SwitchRecord.cpp, + src/osgPlugins/flt/SwitchRecord.h, + src/osgPlugins/flt/TextureMappingPaletteRecord.cpp, + src/osgPlugins/flt/TextureMappingPaletteRecord.h, + src/osgPlugins/flt/TexturePaletteRecord.cpp, + src/osgPlugins/flt/TexturePaletteRecord.h, + src/osgPlugins/flt/TransformationRecords.cpp, + src/osgPlugins/flt/TransformationRecords.h, + src/osgPlugins/flt/UnknownRecord.cpp, + src/osgPlugins/flt/UnknownRecord.h, + src/osgPlugins/flt/VertexPoolRecords.cpp, + src/osgPlugins/flt/VertexPoolRecords.h, + src/osgPlugins/flt/export.h, src/osgPlugins/flt/flt.cpp, + src/osgPlugins/flt/flt.h, src/osgPlugins/flt/flt2osg.cpp, + src/osgPlugins/flt/flt2osg.h, src/osgPlugins/flt/license.txt, + src/osgPlugins/flt/opcodes.h, src/osgPlugins/fly/Makedepend, + src/osgPlugins/fly/Makefile, src/osgPlugins/fly/base.cpp, + src/osgPlugins/fly/fly.cpp, src/osgPlugins/fly/hat.cpp, + src/osgPlugins/fly/hat.h, src/osgPlugins/fly/matrix.cpp, + src/osgPlugins/fly/matrix.h, src/osgPlugins/fly/oldtrees.cpp, + src/osgPlugins/fly/sky.cpp, src/osgPlugins/fly/tank.cpp, + src/osgPlugins/fly/terrain.cpp, src/osgPlugins/fly/terrain_data.h, + src/osgPlugins/fly/trees.cpp, src/osgPlugins/fly/vector.cpp, + src/osgPlugins/fly/vector.h, src/osgPlugins/gif/Makedepend, + src/osgPlugins/gif/Makefile, + src/osgPlugins/gif/ReaderWriterGIF.cpp, + src/osgPlugins/jpeg/Makedepend, src/osgPlugins/jpeg/Makefile, + src/osgPlugins/jpeg/ReaderWriterJPEG.cpp, + src/osgPlugins/osgtgz/Makedepend, src/osgPlugins/osgtgz/Makefile, + src/osgPlugins/osgtgz/osgtgz.cpp, + src/osgPlugins/pfb/ConvertFromPerformer.cpp, + src/osgPlugins/pfb/ConvertFromPerformer.h, + src/osgPlugins/pfb/ConvertToPerformer.cpp, + src/osgPlugins/pfb/ConvertToPerformer.h, + src/osgPlugins/pfb/Makedepend, src/osgPlugins/pfb/Makefile, + src/osgPlugins/pfb/README.txt, + src/osgPlugins/pfb/ReaderWriterPFB.cpp, + src/osgPlugins/pfb/osg2pf/ConvertToPerformer.cpp, + src/osgPlugins/pfb/osg2pf/ConvertToPerformer.h, + src/osgPlugins/pfb/osg2pf/Makedepend, + src/osgPlugins/pfb/osg2pf/Makefile, + src/osgPlugins/pfb/osg2pf/Makefile.lib, + src/osgPlugins/pfb/osg2pf/osg2pf.cpp, + src/osgPlugins/pfb/pf2osg/ConvertFromPerformer.cpp, + src/osgPlugins/pfb/pf2osg/ConvertFromPerformer.h, + src/osgPlugins/pfb/pf2osg/Makedepend, + src/osgPlugins/pfb/pf2osg/Makefile, + src/osgPlugins/pfb/pf2osg/Makefile.lib, + src/osgPlugins/pfb/pf2osg/osg.cpp, + src/osgPlugins/pfb/pf2osg/pf2osg.cpp, + src/osgPlugins/pfb/pf2osg/pfb.cpp, src/osgPlugins/pfb/pf2osg/pfb.h, + src/osgPlugins/pic/Makedepend, src/osgPlugins/pic/Makefile, + src/osgPlugins/pic/ReaderWriterPIC.cpp, + src/osgPlugins/png/Makedepend, src/osgPlugins/png/Makefile, + src/osgPlugins/png/ReaderWriterPNG.cpp, + src/osgPlugins/tga/Makedepend, src/osgPlugins/tga/Makefile, + src/osgPlugins/tga/ReaderWriterTGA.cpp, + src/osgPlugins/tgz/Makedepend, src/osgPlugins/tgz/Makefile, + src/osgPlugins/tgz/ReaderWriterTGZ.cpp, + src/osgPlugins/tiff/Makedepend, src/osgPlugins/tiff/Makefile, + src/osgPlugins/tiff/ReaderWriterTIFF.cpp, + src/osgPlugins/zip/Makedepend, src/osgPlugins/zip/Makefile, + src/osgPlugins/zip/ReaderWriterZIP.cpp, + src/osgUtil/CameraManipulator.cpp, + src/osgUtil/DisplayListVisitor.cpp, + src/osgUtil/DriveManipulator.cpp, + src/osgUtil/FlightManipulator.cpp, + src/osgUtil/IntersectVisitor.cpp, src/osgUtil/Makedepend, + src/osgUtil/Makefile, src/osgUtil/RenderVisitor.cpp, + src/osgUtil/SceneView.cpp, src/osgUtil/TrackballManipulator.cpp, + src/osgUtil/Version.cpp: Initial revision + +2001-01-10 11:32 don + + * AUTHORS, COPYING, ChangeLog, FAQ, Makefile, NEWS, README, TODO, + index.html, Make/instrules, Make/makedefs.irix.nonstd, + Make/makedefs.irix.std, Make/makedefs.linux, Make/makerules.irix, + Make/makerules.linux, VisualStudio/VisualStudio.dsw, + VisualStudio/Demos/cube/cube.dsp, VisualStudio/Demos/sgv/sgv.dsp, + VisualStudio/osg/osg.dsp, VisualStudio/osgGLUT/osgGLUT.dsp, + VisualStudio/osgPlugins/flt/flt.dsp, + VisualStudio/osgPlugins/fly/fly.dsp, + VisualStudio/osgPlugins/gif/gif.dsp, + VisualStudio/osgPlugins/jpeg/jpeg.dsp, + VisualStudio/osgPlugins/pic/pic.dsp, + VisualStudio/osgPlugins/png/png.dsp, + VisualStudio/osgPlugins/tga/tga.dsp, + VisualStudio/osgPlugins/tiff/tiff.dsp, + VisualStudio/osgUtil/osgUtil.dsp, dist/.osg.spec.swp, + dist/Irix/Makefile, dist/Irix/osg.idb, dist/Irix/osg.spec, + dist/RedHatRPM/Makefile, dist/RedHatRPM/makespec, + dist/RedHatRPM/osg.spec, doc/Doxyfile, doc/index.html, + doc/MindMaps/DesignPatterns.mmp, doc/MindMaps/Mission.mmp, + doc/MindMaps/DesignPatterns/DesignPatterns.gif, + doc/MindMaps/DesignPatterns/DesignPatterns.html, + doc/MindMaps/Mission/Mission.gif, + doc/MindMaps/Mission/Mission.html, doc/UML/osg.png, + doc/UML/osgutils.png, doc/osg/AlphaFunc.html, + doc/osg/Billboard.html, doc/osg/BoundingBox.html, + doc/osg/BoundingSphere.html, doc/osg/Camera.html, + doc/osg/ClassGraph.class, doc/osg/ClassGraphPanel.class, + doc/osg/ClassLayout.class, doc/osg/CullFace.html, doc/osg/DCS.html, + doc/osg/DynamicLibrary.html, doc/osg/ExtensionSupported.html, + doc/osg/Field.html, doc/osg/FieldReader.html, + doc/osg/FieldReaderIterator.html, doc/osg/Fog.html, + doc/osg/General.html, doc/osg/GeoSet.html, doc/osg/GeoState.html, + doc/osg/Geode.html, doc/osg/Group.html, doc/osg/HIER.html, + doc/osg/HIERjava.html, doc/osg/Hit.html, doc/osg/Image.html, + doc/osg/Input.html, doc/osg/IntersectState.html, + doc/osg/IntersectVisitor.html, doc/osg/LOD.html, + doc/osg/Light.html, doc/osg/LightSource.html, + doc/osg/Lighting.html, doc/osg/Material.html, doc/osg/Matrix.html, + doc/osg/MemoryAdapter.html, doc/osg/NavigatorButton.class, + doc/osg/Node.html, doc/osg/NodeAcceptOp.html, + doc/osg/NodePath.html, doc/osg/NodeVisitor.html, + doc/osg/NotifyInit.html, doc/osg/NotifySeverity.html, + doc/osg/Object.html, doc/osg/Output.html, doc/osg/Point.html, + doc/osg/PolygonOffset.html, doc/osg/Quat.html, doc/osg/RP.html, + doc/osg/ReaderWriter.html, doc/osg/Referenced.html, + doc/osg/RegisterObjectProxy.html, + doc/osg/RegisterReaderWriterProxy.html, doc/osg/Registry.html, + doc/osg/RenderVisitor.html, doc/osg/Scene.html, doc/osg/Seg.html, + doc/osg/Sequence.html, doc/osg/State.html, doc/osg/Switch.html, + doc/osg/TexEnv.html, doc/osg/TexGen.html, doc/osg/TexMat.html, + doc/osg/Texture.html, doc/osg/Timer.html, + doc/osg/Transparency.html, doc/osg/UnrefOp.html, doc/osg/Vec2.html, + doc/osg/Vec3.html, doc/osg/Vec4.html, doc/osg/ViewState.html, + doc/osg/createGeodeForImage.2.html, + doc/osg/createGeodeForImage.html, doc/osg/for_each_triangle.html, + doc/osg/icon1.gif, doc/osg/icon2.gif, doc/osg/index.html, + doc/osg/osg.html, doc/osg/osgGetLibraryName.html, + doc/osg/osgGetVersion.html, doc/osg/ref_ptr.html, + doc/osgGLUT/ClassGraph.class, doc/osgGLUT/ClassGraphPanel.class, + doc/osgGLUT/ClassLayout.class, doc/osgGLUT/GLUTEventAdapter.html, + doc/osgGLUT/General.html, doc/osgGLUT/HIER.html, + doc/osgGLUT/HIERjava.html, doc/osgGLUT/NavigatorButton.class, + doc/osgGLUT/Viewer.html, doc/osgGLUT/icon1.gif, + doc/osgGLUT/icon2.gif, doc/osgGLUT/index.html, + doc/osgGLUT/osgGLUT.html, doc/osgUtil/Camera.html, + doc/osgUtil/CameraManipulator.html, + doc/osgUtil/CameraTrackballManipulator.html, + doc/osgUtil/CameraZSpindleManipulator.html, + doc/osgUtil/ClassGraph.class, doc/osgUtil/ClassGraphPanel.class, + doc/osgUtil/ClassLayout.class, + doc/osgUtil/CompileGeoSetsVisitor.html, + doc/osgUtil/DisplayListVisitor.html, + doc/osgUtil/DriveManipulator.html, + doc/osgUtil/FlightManipulator.html, + doc/osgUtil/GUIActionAdapter.html, + doc/osgUtil/GUIEventAdapter.html, doc/osgUtil/GUIEventAdaptor.html, + doc/osgUtil/GUIUpdateState.html, doc/osgUtil/General.html, + doc/osgUtil/HIER.html, doc/osgUtil/HIERjava.html, + doc/osgUtil/Hit.html, doc/osgUtil/IntersectState.html, + doc/osgUtil/IntersectVisitor.html, + doc/osgUtil/NavigatorButton.class, doc/osgUtil/RenderVisitor.html, + doc/osgUtil/SceneView.html, doc/osgUtil/TrackballManipulator.html, + doc/osgUtil/ViewState.html, doc/osgUtil/icon1.gif, + doc/osgUtil/icon2.gif, doc/osgUtil/index.html, + doc/osgUtil/osgUtil.html, doc/osgUtil/osgUtilGetLibraryName.html, + doc/osgUtil/osgUtilGetVersion.html, include/osg/AlphaFunc, + include/osg/Billboard, include/osg/BoundingBox, + include/osg/BoundingSphere, include/osg/Camera, + include/osg/CullFace, include/osg/DCS, include/osg/DynamicLibrary, + include/osg/Export, include/osg/ExtensionSupported, + include/osg/Field, include/osg/FieldReader, + include/osg/FieldReaderIterator, include/osg/FileNameUtils, + include/osg/Fog, include/osg/GL, include/osg/GeoSet, + include/osg/GeoState, include/osg/Geode, include/osg/Group, + include/osg/Image, include/osg/Input, include/osg/LOD, + include/osg/Light, include/osg/LightSource, include/osg/Lighting, + include/osg/Material, include/osg/Matrix, include/osg/Node, + include/osg/NodeVisitor, include/osg/Notify, include/osg/OSG, + include/osg/Object, include/osg/Output, include/osg/Point, + include/osg/PolygonOffset, include/osg/Quat, + include/osg/Referenced, include/osg/Registry, include/osg/Scene, + include/osg/Seg, include/osg/Sequence, include/osg/State, + include/osg/Switch, include/osg/TexEnv, include/osg/TexGen, + include/osg/TexMat, include/osg/Texture, include/osg/Timer, + include/osg/Transparency, include/osg/Types, include/osg/Vec2, + include/osg/Vec3, include/osg/Vec4, include/osg/Version, + include/osgGLUT/Export, include/osgGLUT/GLUTEventAdapter, + include/osgGLUT/Version, include/osgGLUT/Viewer, + include/osgUtil/CameraManipulator, + include/osgUtil/DisplayListVisitor, + include/osgUtil/DriveManipulator, include/osgUtil/Export, + include/osgUtil/FlightManipulator, + include/osgUtil/GUIActionAdapter, include/osgUtil/GUIEventAdapter, + include/osgUtil/IntersectVisitor, include/osgUtil/RenderVisitor, + include/osgUtil/SceneView, include/osgUtil/TrackballManipulator, + include/osgUtil/Version, src/Makefile, src/Demos/Makefile, + src/Demos/cube/Makedepend, src/Demos/cube/Makefile, + src/Demos/cube/cube.cpp, src/Demos/sgv/Makedepend, + src/Demos/sgv/Makefile, src/Demos/sgv/sgv.cpp, + src/osg/AlphaFunc.cpp, src/osg/Billboard.cpp, + src/osg/BoundingBox.cpp, src/osg/BoundingSphere.cpp, + src/osg/Camera.cpp, src/osg/CullFace.cpp, src/osg/DCS.cpp, + src/osg/DynamicLibrary.cpp, src/osg/ExtensionSupported.cpp, + src/osg/Field.cpp, src/osg/FieldReader.cpp, + src/osg/FieldReaderIterator.cpp, src/osg/FileNameUtils.cpp, + src/osg/Fog.cpp, src/osg/GeoSet.cpp, src/osg/GeoSet_ogl.cpp, + src/osg/GeoState.cpp, src/osg/Geode.cpp, src/osg/Group.cpp, + src/osg/Image.cpp, src/osg/Input.cpp, src/osg/LOD.cpp, + src/osg/Light.cpp, src/osg/LightSource.cpp, src/osg/Lighting.cpp, + src/osg/Makedepend, src/osg/Makefile, src/osg/Material.cpp, + src/osg/Matrix.cpp, src/osg/Node.cpp, src/osg/NodeVisitor.cpp, + src/osg/Notify.cpp, src/osg/OSG.cpp, src/osg/Object.cpp, + src/osg/Output.cpp, src/osg/Point.cpp, src/osg/PolygonOffset.cpp, + src/osg/Quat.cpp, src/osg/ReaderWriterOSG.cpp, + src/osg/ReaderWriterRGB.cpp, src/osg/Registry.cpp, + src/osg/Scene.cpp, src/osg/Seg.cpp, src/osg/Sequence.cpp, + src/osg/Switch.cpp, src/osg/TexEnv.cpp, src/osg/TexGen.cpp, + src/osg/TexMat.cpp, src/osg/Texture.cpp, src/osg/Timer.cpp, + src/osg/Transparency.cpp, src/osg/Version.cpp, + src/osgGLUT/GLUTEventAdapter.cpp, src/osgGLUT/Makedepend, + src/osgGLUT/Makefile, src/osgGLUT/Version.cpp, + src/osgGLUT/Viewer.cpp, src/osgPlugins/Makefile, + src/osgPlugins/flt/BoundingVolumeRecords.cpp, + src/osgPlugins/flt/BoundingVolumeRecords.h, + src/osgPlugins/flt/ColorPaletteRecord.cpp, + src/osgPlugins/flt/ColorPaletteRecord.h, + src/osgPlugins/flt/CommentRecord.cpp, + src/osgPlugins/flt/CommentRecord.h, + src/osgPlugins/flt/ControlRecord.cpp, + src/osgPlugins/flt/ControlRecord.h, + src/osgPlugins/flt/DofRecord.cpp, src/osgPlugins/flt/DofRecord.h, + src/osgPlugins/flt/ExtensionRecord.cpp, + src/osgPlugins/flt/ExtensionRecord.h, + src/osgPlugins/flt/ExternalRecord.cpp, + src/osgPlugins/flt/ExternalRecord.h, + src/osgPlugins/flt/FaceRecord.cpp, src/osgPlugins/flt/FaceRecord.h, + src/osgPlugins/flt/FltFile.cpp, src/osgPlugins/flt/FltFile.h, + src/osgPlugins/flt/FltRecords.h, + src/osgPlugins/flt/GeoSetBuilder.cpp, + src/osgPlugins/flt/GeoSetBuilder.h, + src/osgPlugins/flt/GroupRecord.cpp, + src/osgPlugins/flt/GroupRecord.h, + src/osgPlugins/flt/HeaderRecord.cpp, + src/osgPlugins/flt/HeaderRecord.h, src/osgPlugins/flt/Input.cpp, + src/osgPlugins/flt/Input.h, src/osgPlugins/flt/InstanceRecords.cpp, + src/osgPlugins/flt/InstanceRecords.h, + src/osgPlugins/flt/LightPointRecord.cpp, + src/osgPlugins/flt/LightPointRecord.h, + src/osgPlugins/flt/LightSourcePaletteRecord.cpp, + src/osgPlugins/flt/LightSourcePaletteRecord.h, + src/osgPlugins/flt/LightSourceRecord.cpp, + src/osgPlugins/flt/LightSourceRecord.h, + src/osgPlugins/flt/LodRecord.cpp, src/osgPlugins/flt/LodRecord.h, + src/osgPlugins/flt/LongIDRecord.cpp, + src/osgPlugins/flt/LongIDRecord.h, src/osgPlugins/flt/Makedepend, + src/osgPlugins/flt/Makefile, + src/osgPlugins/flt/MaterialPaletteRecord.cpp, + src/osgPlugins/flt/MaterialPaletteRecord.h, + src/osgPlugins/flt/ObjectRecord.cpp, + src/osgPlugins/flt/ObjectRecord.h, + src/osgPlugins/flt/OldVertexRecords.cpp, + src/osgPlugins/flt/OldVertexRecords.h, src/osgPlugins/flt/Pool.cpp, + src/osgPlugins/flt/Pool.h, src/osgPlugins/flt/ReaderWriterFLT.cpp, + src/osgPlugins/flt/ReaderWriterFLT.h, + src/osgPlugins/flt/Record.cpp, src/osgPlugins/flt/Record.h, + src/osgPlugins/flt/RecordVisitor.cpp, + src/osgPlugins/flt/RecordVisitor.h, + src/osgPlugins/flt/Registry.cpp, src/osgPlugins/flt/Registry.h, + src/osgPlugins/flt/SwitchRecord.cpp, + src/osgPlugins/flt/SwitchRecord.h, + src/osgPlugins/flt/TextureMappingPaletteRecord.cpp, + src/osgPlugins/flt/TextureMappingPaletteRecord.h, + src/osgPlugins/flt/TexturePaletteRecord.cpp, + src/osgPlugins/flt/TexturePaletteRecord.h, + src/osgPlugins/flt/TransformationRecords.cpp, + src/osgPlugins/flt/TransformationRecords.h, + src/osgPlugins/flt/UnknownRecord.cpp, + src/osgPlugins/flt/UnknownRecord.h, + src/osgPlugins/flt/VertexPoolRecords.cpp, + src/osgPlugins/flt/VertexPoolRecords.h, + src/osgPlugins/flt/export.h, src/osgPlugins/flt/flt.cpp, + src/osgPlugins/flt/flt.h, src/osgPlugins/flt/flt2osg.cpp, + src/osgPlugins/flt/flt2osg.h, src/osgPlugins/flt/license.txt, + src/osgPlugins/flt/opcodes.h, src/osgPlugins/fly/Makedepend, + src/osgPlugins/fly/Makefile, src/osgPlugins/fly/base.cpp, + src/osgPlugins/fly/fly.cpp, src/osgPlugins/fly/hat.cpp, + src/osgPlugins/fly/hat.h, src/osgPlugins/fly/matrix.cpp, + src/osgPlugins/fly/matrix.h, src/osgPlugins/fly/oldtrees.cpp, + src/osgPlugins/fly/sky.cpp, src/osgPlugins/fly/tank.cpp, + src/osgPlugins/fly/terrain.cpp, src/osgPlugins/fly/terrain_data.h, + src/osgPlugins/fly/trees.cpp, src/osgPlugins/fly/vector.cpp, + src/osgPlugins/fly/vector.h, src/osgPlugins/gif/Makedepend, + src/osgPlugins/gif/Makefile, + src/osgPlugins/gif/ReaderWriterGIF.cpp, + src/osgPlugins/jpeg/Makedepend, src/osgPlugins/jpeg/Makefile, + src/osgPlugins/jpeg/ReaderWriterJPEG.cpp, + src/osgPlugins/osgtgz/Makedepend, src/osgPlugins/osgtgz/Makefile, + src/osgPlugins/osgtgz/osgtgz.cpp, + src/osgPlugins/pfb/ConvertFromPerformer.cpp, + src/osgPlugins/pfb/ConvertFromPerformer.h, + src/osgPlugins/pfb/ConvertToPerformer.cpp, + src/osgPlugins/pfb/ConvertToPerformer.h, + src/osgPlugins/pfb/Makedepend, src/osgPlugins/pfb/Makefile, + src/osgPlugins/pfb/README.txt, + src/osgPlugins/pfb/ReaderWriterPFB.cpp, + src/osgPlugins/pfb/osg2pf/ConvertToPerformer.cpp, + src/osgPlugins/pfb/osg2pf/ConvertToPerformer.h, + src/osgPlugins/pfb/osg2pf/Makedepend, + src/osgPlugins/pfb/osg2pf/Makefile, + src/osgPlugins/pfb/osg2pf/Makefile.lib, + src/osgPlugins/pfb/osg2pf/osg2pf.cpp, + src/osgPlugins/pfb/pf2osg/ConvertFromPerformer.cpp, + src/osgPlugins/pfb/pf2osg/ConvertFromPerformer.h, + src/osgPlugins/pfb/pf2osg/Makedepend, + src/osgPlugins/pfb/pf2osg/Makefile, + src/osgPlugins/pfb/pf2osg/Makefile.lib, + src/osgPlugins/pfb/pf2osg/osg.cpp, + src/osgPlugins/pfb/pf2osg/pf2osg.cpp, + src/osgPlugins/pfb/pf2osg/pfb.cpp, src/osgPlugins/pfb/pf2osg/pfb.h, + src/osgPlugins/pic/Makedepend, src/osgPlugins/pic/Makefile, + src/osgPlugins/pic/ReaderWriterPIC.cpp, + src/osgPlugins/png/Makedepend, src/osgPlugins/png/Makefile, + src/osgPlugins/png/ReaderWriterPNG.cpp, + src/osgPlugins/tga/Makedepend, src/osgPlugins/tga/Makefile, + src/osgPlugins/tga/ReaderWriterTGA.cpp, + src/osgPlugins/tgz/Makedepend, src/osgPlugins/tgz/Makefile, + src/osgPlugins/tgz/ReaderWriterTGZ.cpp, + src/osgPlugins/tiff/Makedepend, src/osgPlugins/tiff/Makefile, + src/osgPlugins/tiff/ReaderWriterTIFF.cpp, + src/osgPlugins/zip/Makedepend, src/osgPlugins/zip/Makefile, + src/osgPlugins/zip/ReaderWriterZIP.cpp, + src/osgUtil/CameraManipulator.cpp, + src/osgUtil/DisplayListVisitor.cpp, + src/osgUtil/DriveManipulator.cpp, + src/osgUtil/FlightManipulator.cpp, + src/osgUtil/IntersectVisitor.cpp, src/osgUtil/Makedepend, + src/osgUtil/Makefile, src/osgUtil/RenderVisitor.cpp, + src/osgUtil/SceneView.cpp, src/osgUtil/TrackballManipulator.cpp, + src/osgUtil/Version.cpp: Initial import of OpenSceneGraph + diff --git a/ChangeLog.preCVS b/ChangeLog.preCVS new file mode 100644 index 000000000..9a447cc39 --- /dev/null +++ b/ChangeLog.preCVS @@ -0,0 +1,2207 @@ +Pre CVS OSG Change log +====================== + +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. + +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 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 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 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. + 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 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 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 xMaxxMax 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 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++.