Commit Graph

9213 Commits

Author SHA1 Message Date
Robert Osfield
39ea16aad7 Added osg::StateSet::merge(const StateSet& rhs) merges merges the modes and
attributes of rhs into 'this' stateset.
2001-10-14 09:58:49 +00:00
Robert Osfield
72dc08cd9a Fixed the Flight and Drive manipulators to work with the updated Matrix::rotate
code.
2001-10-14 09:57:33 +00:00
Don BURNS
3ecaf3cd6c Fixed a small boo-boo in definition of bit masks in include/osg/Drawable
Fixed incorrect normal conversions for osgconv.
2001-10-14 06:01:31 +00:00
Don BURNS
a170b06d6d Mr. O added fancy, shmanzy C++ code, but broke normal transform functionality
Fixed.
2001-10-14 05:33:36 +00:00
Don BURNS
0e8c2ef89b Quick 'n dirty fix to TrackballManipulator to get the rotations doing the
right things after the Quat fixes.
2001-10-14 05:14:37 +00:00
Don BURNS
c6f11afbf6 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-14 04:28:50 +00:00
Robert Osfield
1e4a0cadf5 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 11:16:10 +00:00
Don BURNS
a57ab6d121 Added Mr. Osfields dynamic_cast<> and test for validity test. 2001-10-13 09:48:37 +00:00
Don BURNS
610358033f backed out right-handed coordinate transform for makeRot(vec3,vec3) in Quat.cpp 2001-10-13 08:34:02 +00:00
Don BURNS
b993f14cac A few more clean ups 2001-10-13 08:32:11 +00:00
Don BURNS
d391a6edc3 Cleaned up the usage message 2001-10-13 07:41:54 +00:00
Don BURNS
79a992ac72 Updated osgconv to be able to handle orientation swapping. 2001-10-13 07:24:25 +00:00
Don BURNS
49982ac835 Changed some routines to produce right-handed rotations. 2001-10-13 06:23:55 +00:00
Don BURNS
fef731c689 checking files in to move development location 2001-10-13 06:22:49 +00:00
Robert Osfield
58582998fa Added support for the new AttributeUpdateFunctors. 2001-10-12 20:06:35 +00:00
Don BURNS
cb17e99420 Added include/osg/Math to Makefile TARGET_INCLUDE_FILES and fixed references
to _mat in ConvertToPerformer.cpp
2001-10-12 17:45:15 +00:00
Robert Osfield
96085619ee 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 20:20:14 +00:00
Robert Osfield
a7f0cacc41 Fixed a crash when opening an erroneous test file (reopen.bmp). 2001-10-09 21:55:47 +00:00
Robert Osfield
68e63ef750 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-09 11:58:13 +00:00
Robert Osfield
8df894924c 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 15:54:16 +00:00
Robert Osfield
c66557087d Added support for using osgDB::fineFile into the .flt plugin. 2001-10-08 08:35:06 +00:00
Robert Osfield
2b85ce5c1c Merged Geoff Michel's udpdates to bmp plugin, and fixed a double fclose bug
which was causing a seg fault under Linux.
2001-10-07 20:10:58 +00:00
Robert Osfield
3da57d6d22 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-06 20:29:42 +00:00
Robert Osfield
c56a1b8c31 Added bmp plugin files, bmp plguin written by Geoff Michel 2001-10-05 19:55:58 +00:00
Robert Osfield
df362da11b Added bmp osgPlugin, written by Geoff Michel. 2001-10-05 10:39:27 +00:00
Robert Osfield
c16fe83d0a 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-05 10:38:16 +00:00
Robert Osfield
d5bff10797 Changed the ordering of comparing modes and attributes in
osg::StateAttribute::compare() as part of an investigration into state sorting.
2001-10-04 14:39:24 +00:00
Robert Osfield
d5ed4e2305 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 14:35:42 +00:00
Robert Osfield
c614c2f622 Added extra precision to the app,cull and draw timings in the Viewer. 2001-10-04 14:25:50 +00:00
Robert Osfield
f0bb34c4fe Removed some notify which were only used for debugging of the camera class
and are now redudent.
2001-10-04 14:20:23 +00:00
Robert Osfield
2c6e85442b Integrated changes for MacOSX, submitted by Phil Atkin, with small mods by
Robert Osfield to maintain compatability under Linux.
2001-10-03 21:44:07 +00:00
Robert Osfield
1ebddc2af7 Added missing EarthSky.cpp file to osg plguin. 2001-10-03 07:56:33 +00:00
Robert Osfield
7a7a26c2ea 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 15:59:49 +00:00
Robert Osfield
430c8606e9 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-02 11:36:14 +00:00
Robert Osfield
fc1fa57275 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 23:02:14 +00:00
Robert Osfield
0d0b33f4b0 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 12:06:22 +00:00
Robert Osfield
777e4ab9f1 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 18:34:26 +00:00
Robert Osfield
8e2f1bdb72 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-29 09:37:43 +00:00
Don BURNS
4c4d99f19a Cleaned up inst rules a bit... 2001-09-28 19:36:58 +00:00
Robert Osfield
12f77f141e *** empty log message *** 2001-09-28 16:56:19 +00:00
Robert Osfield
2a9848ea95 *** empty log message *** 2001-09-27 16:34:41 +00:00
Robert Osfield
ba47264c5e *** empty log message *** 2001-09-27 09:44:55 +00:00
Robert Osfield
e50ce2784f *** empty log message *** 2001-09-26 12:23:02 +00:00
Robert Osfield
9fd1706e3c *** empty log message *** 2001-09-25 17:56:56 +00:00
Don BURNS
7ae58df42a Synch with 20010921 2001-09-22 02:42:08 +00:00
Don BURNS
b5eb0a1137 Removed Makedepend files 2001-09-20 00:59:26 +00:00
Don BURNS
51a3ad4baf Addec binary files with -kb 2001-09-20 00:48:36 +00:00
Don BURNS
9dc24e2952 Removed should be binary entries. Well r-add with -kb 2001-09-20 00:47:45 +00:00
Don BURNS
5ba4f8f7ac Added ico files with -kb flag 2001-09-20 00:07:09 +00:00
Don BURNS
836da3cc73 Trying to clean up binary commits 2001-09-20 00:06:36 +00:00
Don BURNS
43ca3300c6 Added these with the -kb flag now. 2001-09-19 23:56:12 +00:00
Don BURNS
bfecdda28a Cleaning up binary commits - oops 2001-09-19 23:55:38 +00:00
Don BURNS
ac2bdbda30 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 23:52:12 +00:00
Don BURNS
736e0f73c3 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 23:46:48 +00:00
Don BURNS
81f553aaee 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 23:41:39 +00:00
Don BURNS
77494207fb Removed files.... synching witn 0.8.42 2001-09-19 21:51:06 +00:00
Don BURNS
bc739f47a9 And yet more clean up synch with 0.8.42 2001-09-19 21:41:52 +00:00
Don BURNS
7e81f6cfa6 More clean up for synch with 0.8.42 2001-09-19 21:19:47 +00:00
Don BURNS
2462c6273c Added acompole more 2001-09-19 21:10:39 +00:00
Don BURNS
e8f256a59d Added a bunch of files synched with 0.8.42 2001-09-19 21:08:56 +00:00
Don BURNS
fed86f3f03 Removed Makedepend for osg repository. No Makedepends should be in the
repository
2001-01-12 17:34:58 +00:00
Don BURNS
7165d693d6 Fixed the findDSO error which excluded PATH on win32 and LD_LIBRARY_PATH in
UNIX.
2001-01-10 17:19:04 +00:00
Don BURNS
70208ebc06 Initial revision 2001-01-10 16:32:10 +00:00