Commit Graph

951 Commits

Author SHA1 Message Date
Robert Osfield
1e2f198c5b Added new osg::TexEnvCombine state attribute. 2002-08-19 15:11:09 +00:00
Robert Osfield
b23a48a763 Renamed the osg::EarthSky to osg::ClearNode to make it more obvious what
role it has play and make it more relevant to non vis-sim applications.
2002-08-19 11:42:37 +00:00
Robert Osfield
c72953d94b Moved "unsigned int i" from for(.. to just before it, and removed subsequent
ones to get the VisualStudio compiler working once more.
2002-08-19 08:35:35 +00:00
Robert Osfield
22d54f05e4 Added DOFTransform, MatrixTransform and PositionAttitudeTransform to NodeVisitor.
Added osg::Matrix/Quat::makeRotate(angle1,axis1,angle2,axis2,angle3,axis3) and
osg::Matrix::rotate(angle1,axis1,angle2,axis2,angle3,axis3) method.

Made osg::Matrix/Quat::makeRotate(heading,pitch,roll) and
osg::Matrix::rotate(heading,pitch,roll) all deprecated API.

Fixed the Quat*Quat & Quat*=Quat multiplication methods so that they multiplied
in the correct order - they were reversed originally due to the Quat code being
based on code example which used the v' = M v ordering, rather than the OSG's
v' = v M ordering.
2002-08-18 14:42:43 +00:00
Robert Osfield
a9732aa046 Added check to disable color binding when the secondary colour extension doesn't
exist.
2002-08-18 11:16:31 +00:00
Robert Osfield
2ab0f689eb Added Texuture::SubloadCallback example into the osgprerender demo to illustrate
how to use it.

Changed the ImpostorSprite to use LINEAR,LINEAR for min and mag filters for the
impostor texture.
2002-08-16 15:14:43 +00:00
Robert Osfield
7dfefaf67f Added new osg::Texture::SubloadCallback, and getNumMipmapLevels() to osg::Texture
and osg::Image.  This additions are design to make texture subloading more
flexible.
2002-08-16 13:33:32 +00:00
Robert Osfield
bff72e1077 Fixes from Ulrich Hertlein to get the pfb plugin compiling with using
any deprecated API.
2002-08-16 10:56:20 +00:00
Robert Osfield
8551e1c555 Supported added for secondary color & fog coords to osg::Geometry and osg::State. 2002-08-15 20:27:33 +00:00
Robert Osfield
848ce4ae74 From Perry, support for color added to the MeshPrimtive/LocalVertexPool code. 2002-08-15 20:25:46 +00:00
Robert Osfield
5f6dbfecf3 Removed the getData() from MeshRecord and the dummy SMesh record, this
allow the FaceRecord base class to directly provide the datatype.
2002-08-15 15:04:23 +00:00
Robert Osfield
ccbc1df85b Added a using namespace std; and removed std:: from from std::hex and std::dec. 2002-08-15 14:09:36 +00:00
Robert Osfield
4cbab17096 Added a virtual keyword into the getData() overrided methods. 2002-08-15 13:04:13 +00:00
Robert Osfield
61e3b34bc7 Submission from Perry Miller for support of OpenFlight15.7's local vertex pool
and mesh primitives.  Converted Perry's code to work with the osg::Geometry
instead of osg::GeoSet.
2002-08-15 11:25:23 +00:00
Robert Osfield
f9cc8783b3 Futher improvements and fixes to osg::AnimationPath, and the osglight
demo to show it action.
2002-08-13 15:31:10 +00:00
Robert Osfield
7c049360ff Made improvements to osg::AnimationPath, added
osg::PositionAttitudeTransform::AnimationPathCallback which us an app callback
which uses an AnimationPath to specify the new positions of the transform.

Added AnimationPath code to osglight to animate the positional light.

Added CullVisitor::setCullingMode() code into SceneView so that SceneView's
CullingMode is now properly passed onto CullVisitor.  Note, this work
had been done before, but must has been lost in a merge. Umm...
2002-08-13 13:22:46 +00:00
Robert Osfield
983da4fb9c Fixed uninitialized _sortMode. 2002-08-13 09:35:06 +00:00
Robert Osfield
743b174da9 Added new s/getPivotPoint() support to osg::PositionAttitudeTransform.
Modified the osglight demo to use an AppCallback and a PositionAttitudeTransform
to animate the loaded model.
2002-08-12 17:40:36 +00:00
Robert Osfield
29490a8c1c Updates to DOFTransform so that its overrides the traverse() and compute*() methods
rather than depending upon callbacks for animating and compute matrices.  Merged the
put/inverseput code between Sasa's and Ferndinand's DOF code.

From Bora Utka, Added support to osg::Sequence/OpenFlight AnimNode to the flt plugin.
2002-08-12 13:42:43 +00:00
Robert Osfield
d43b00ac4e attempt to fix read only status of Sequence.cpp. 2002-08-12 13:37:35 +00:00
Robert Osfield
7010c1c4f8 Removed dependency of the new osg::DOFTransform and osg::Sequence Node's
on osgUtil by implementing a NodeVisitor::VisitorType enum, and associated
g/setVisitorType.  This allows callbacks to querry the visitor/traversal
type without doing down cast's to specific visitor subclasses such as
osgUtil::AppVisitor/CullVisitor.
2002-08-11 21:26:58 +00:00
Robert Osfield
19eaf17632 Temporarily commented out the flat staic transforms visitor since it
was causing problems with the new DOFTransform class.
2002-08-11 10:32:20 +00:00
Robert Osfield
5d61488476 Submission for Gideon May, fixes for spacing in various osgText files. 2002-08-09 19:51:12 +00:00
Robert Osfield
392150521a Fixed the X and Y axis rotation billboards so that now rotate correctly.
Rewrote the osgbillboard demo so that it creates a point rotatated billbaord
and X,Y and Z axis billboards to both test and demonstrate this types of
billboards in action.
2002-08-09 16:27:39 +00:00
Robert Osfield
0c6991ea27 Fixes for IRIX 32bit timmer on O2. From Tom Jolley. 2002-08-08 21:36:22 +00:00
Robert Osfield
f0f40cbf88 Fixed warning related to where _increasingFlags is an unsigned short and 0xffffff is being
truncated, spotted by Tom Jolly.
2002-08-08 15:10:58 +00:00
Robert Osfield
d351bad121 Fixed bug related to switching on/off culling modes. Patch from Nikolaus Hanekamp. 2002-08-08 13:41:18 +00:00
Robert Osfield
d9b7b13bd3 Changed the Geometry::setVertexArray and GeoSet::setCoords so that they
call dirtyBound() instead of reseting the local bound flag, this ensures
the updates are propagated upwards through into the parents.
2002-08-08 11:27:11 +00:00
Robert Osfield
f5c7fcf51d Fixed the shininess factor in 3ds plugin. 2002-08-08 11:01:07 +00:00
Robert Osfield
b9b013e15b Changed the support for anisotropic filtering in osg::Texture so that it
is now controlled via the setMaxAnisotropy(float) method, and is set up
independently for the mag filter mode, which it previously was done.
2002-08-07 15:52:24 +00:00
Robert Osfield
e01f9eb891 Added shells for DOFTransform and PositionAttitudeTransform to the .osg
loader, still need to fill in the saving and loading of paramters.

Went through the distribution remove old API usage.
2002-08-06 17:07:05 +00:00
Robert Osfield
ffb2d3826b Changed the default value of _animationOn to true. 2002-08-06 10:37:22 +00:00
Robert Osfield
25740b5c7f Added new osg::DOFTransform node from Sasa Bistrovic, designed to mirror
the OpenFlight DOF transform nodes.
2002-08-05 15:07:18 +00:00
Robert Osfield
6c998bf97d Added support for PROTECTED modes into the .osg reading and writing. 2002-08-05 13:29:51 +00:00
Robert Osfield
25307305a0 Added an example of the use of the PROTECTED modes and attributes into
the osgreflect demo so that toggling texturing on or off won't affect
the mirror planes texturing.
2002-08-05 13:12:09 +00:00
Robert Osfield
70724c353f Fixed compile errors under IRIX. 2002-08-05 12:52:18 +00:00
Robert Osfield
6b52e17c48 Fix to iv/vrml loader so that it correctly passes back the right ReadResult
and checks the validity of the file extension being passed to the plugin.
Removed main.cpp * .h moving all its functionality into readerwriter.cpp.
2002-08-04 21:11:00 +00:00
Robert Osfield
93403a54db Changed the error reporting so that it directs it all via osg::notify, and
only uses the INFO level for reporting that the file to load is not
recognised.  Also add check for LWO2 loading so that it returns FILE_NOT_HANDLED
message correctly.
2002-08-04 20:51:03 +00:00
Robert Osfield
cab49a9307 From Ruben Lopez, updates to VRML/IV loader.
From Ben Discoe, corrections to comments in osg::Transform

From Alberto Barbati, Lazy evaluation of inverse matrix in osg::MatrixTransfrom
2002-08-04 20:34:48 +00:00
Robert Osfield
fb0d87b29c Added Sequence.cpp to osg plugin workspace file. 2002-08-03 19:42:39 +00:00
Robert Osfield
6a04fc3dee Integrated Ulrich Hertlien's osg::Sequence node, and osgsequence demo, and
support for osg::Sequence in the pfb loader.
2002-08-03 18:11:21 +00:00
Robert Osfield
c253d3558b Changed the range max and min members variables to maximum and minimum to
prevent collision with windows min and max macros.
2002-08-03 18:03:40 +00:00
Robert Osfield
1ba901cf64 Added support for a sort callback in RenderBin. 2002-08-03 16:49:42 +00:00
Robert Osfield
b89f3fa9b1 Added cout's of the view frustum to the aid debugging, these cout's are
now commented out, and are just left in so that they may be used to
double check things in future.
2002-08-03 16:37:13 +00:00
Robert Osfield
ddd78eb95e Fix for Win32 build 2002-08-02 19:11:06 +00:00
Robert Osfield
e1a6a18036 Added missing _nodePath.clear() and _segHitList.clear() to InteresectVisitor::reset(). 2002-08-02 15:14:59 +00:00
Robert Osfield
1adc4992ff Updates to iv/vrml loader from Ruben. 2002-07-31 15:16:14 +00:00
Robert Osfield
3840972440 Updates to the iv loader from Ruben - conversion from GeoSet to Geoemetry. 2002-07-30 10:08:50 +00:00
Robert Osfield
fae159df08 Forced the use of non mip mapped texture during subloading in the osgprerender
demo.
2002-07-29 21:29:41 +00:00
Robert Osfield
0fa1b4a2ff Removed default value from constructor. 2002-07-29 11:02:14 +00:00
Robert Osfield
067dc6cddf Fixes to the new texture subloading methods. 2002-07-29 00:04:07 +00:00
Robert Osfield
6b59f66d80 Checked in new methods for setting up texture subloading, these allow the
user to control which parts on an image are subloaded from, and how big
the initial texture is.
2002-07-28 23:28:27 +00:00
Robert Osfield
02bb66a572 Checked in Pavel's updates for non texured surfaces. 2002-07-28 23:27:21 +00:00
Robert Osfield
05472135b0 Added set/getUnrefImageOnApply() methods and associated flag and
code in Texture::apply() to set the _image to 0 on apply.  Note,
this will only work when you have a single graphics context, as
with multiple graphics contexts one can't delete the image after
the first apply, as there will be more than one texture object to
update.
2002-07-28 21:25:32 +00:00
Robert Osfield
63e3364cc3 Checked in Marco's commented out #defines/rejigged struct names to get things
compiling under Windows, will need to check this in future as it may change with regeneration of parser files
with lex/yacc.
2002-07-28 21:15:25 +00:00
Robert Osfield
556fa81fda Chagned the initiliazation of iterators, sent in by Alberto Barbati. 2002-07-28 12:52:15 +00:00
Robert Osfield
0977e68727 Fixes to NodeCallback and RenderBin from Alberto Barbati. 2002-07-28 12:49:01 +00:00
Robert Osfield
74f5cbe16a Fixes to the inventor/vrml loader. 2002-07-27 21:35:21 +00:00
Robert Osfield
4962065fb7 From Macro, removal of use of display lists during double pass rendering of
particles.
2002-07-27 10:34:14 +00:00
Robert Osfield
2c1b07e752 Fix for Windows 2002-07-27 10:25:51 +00:00
Robert Osfield
933ecce3d9 Fixes for Win32 build. 2002-07-27 10:22:58 +00:00
Robert Osfield
73b007fccb Added return value to addViewport. 2002-07-27 10:09:39 +00:00
Robert Osfield
83a276a16a Added missing osg:: from various references to osg::Objectf 2002-07-26 18:46:18 +00:00
Robert Osfield
5622b8c48b Added support for LWO2, send in by Pavel Moloshtan. 2002-07-26 16:33:25 +00:00
Robert Osfield
078cdbed49 Added Ruben Lopez's Inventor/VRML 1.0 loader. 2002-07-26 15:37:23 +00:00
Robert Osfield
fe8d097cc0 From Ferdinand Cornelissen - Futher updates to the DOF code. 2002-07-25 22:08:51 +00:00
Robert Osfield
150b055053 Added missing return statement to if() block in Matrix::mult code. Bug spotted
by Ray Conner.
2002-07-25 21:58:53 +00:00
Robert Osfield
95bdcfc3f6 Fixes to Doxygen files from Neil.
Removed unused set/getReportMode() methods and member variables from IntersectVisitor.

Added deep copy construction of Geometry objects.
2002-07-25 21:50:08 +00:00
Robert Osfield
7a4c43c06e Changed > operator to < and swapped sides of expression, to enable compilation
across compilers.
2002-07-25 21:45:46 +00:00
Robert Osfield
cb1e1183c7 Fix to geometry combiner which wasn't check the overall color array values
in the lessGeometry functor.
2002-07-25 16:15:01 +00:00
Robert Osfield
ec6c2cd229 Fix to DOF Record from Sasa Bistroviae. 2002-07-25 15:25:42 +00:00
Robert Osfield
a6eb0a8209 Fix for colors in old flt models from Brede. 2002-07-25 15:21:18 +00:00
Robert Osfield
55b7ed10a1 Implemented the DOF handling more cleanly, as per OpenFlight15.7 docs. 2002-07-24 16:29:00 +00:00
Robert Osfield
42358b61ae Added missing std:: to endl; 2002-07-23 18:44:03 +00:00
Robert Osfield
b2fa79293c Added the missing _primtives from the copy constructor list. 2002-07-23 15:48:12 +00:00
Robert Osfield
9033b8a336 Added fog toggling to Viewer.cpp, 'y' reduces fog density, 'Y' increases
fog density.
2002-07-23 15:45:55 +00:00
Robert Osfield
2268246fa9 Added mode checking into StateSet to try and catch non texture OpenGL modes
which have been applied to the texture modes and visa-versa.
2002-07-23 14:35:38 +00:00
Robert Osfield
a41930ed17 Support added for Gnu C++ under Solaris. 2002-07-23 13:30:47 +00:00
Robert Osfield
80afddc08d Checked in Tino Schwarze's port to HP-UX. 2002-07-23 10:48:22 +00:00
Robert Osfield
f007e7c3be Merged changed to osgParticle from Macro, these add the ability to
orientate the particles to predefined axis.
2002-07-22 13:05:31 +00:00
Robert Osfield
3dd07ea354 Fixed more uninitialized variables and two potential memory leaks. 2002-07-22 12:41:55 +00:00
Robert Osfield
bfefb55a9f Fixed various uninitiliazed variables. 2002-07-21 20:34:38 +00:00
Robert Osfield
3cda894ca5 Added default construction values for various member variables to fix report
uninitialized variables.
2002-07-21 10:44:25 +00:00
Robert Osfield
b23aea5173 Futher work on ensuring that all datatypes are initilizaed in OSG objects. 2002-07-21 10:04:33 +00:00
Robert Osfield
389dd8adbb Futher changes to remove unitialized variables/reordering of initialization to
prevent unitialized warnings.
2002-07-21 01:29:11 +00:00
Robert Osfield
48b3be40e9 Various fixes to constructors to ensure that all variables are initialized. 2002-07-20 23:54:55 +00:00
Robert Osfield
0ff08a2978 Added missing default values to State constructor. 2002-07-20 22:44:21 +00:00
Robert Osfield
15315b7b4b Added default values for FrameStamp.cpp constructor. 2002-07-20 22:40:24 +00:00
Robert Osfield
a1c54dc663 Removed the rendundent variables in the ConvexPlanerPolygon as these were
unused and unitialized.
2002-07-20 22:36:55 +00:00
Robert Osfield
c86a907ddd Added new debugging switch checkOnAllocations which is now on by default
when compiling with debug build (under UNIX) and can be turned on or off
with the OSG_MM_CHECK_ON_ALLOCATIONS environmental variable.
2002-07-20 22:36:09 +00:00
Robert Osfield
2b7331b73b Added some extra checks for memory initialization into the osg::MemoryManager,
this is turned off by default, even in debug build. However you can turn it
on by setting the OSG_MM_CHECK_FOR_UNINITIALIZED
2002-07-20 21:37:10 +00:00
Robert Osfield
298e3d5ae3 Umm... these should have already been commited, not sure why cvs has just
popped these ones up...
2002-07-20 18:27:40 +00:00
Robert Osfield
2f48bef57e Fixed the char[] array length to fully encompass the strings bring written
to them.
2002-07-20 15:01:49 +00:00
Robert Osfield
745478e193 Fixed the glTessCallback type to GLU_TESS_ERROR_DATA. 2002-07-20 15:00:47 +00:00
Robert Osfield
1264bd5869 Removed debugging cout's. 2002-07-19 15:03:23 +00:00
Robert Osfield
7682e32521 Updates to the Geometry to add more access methods, and updates to Optimizer
to add the new merge primtives option.
2002-07-19 14:19:49 +00:00
Robert Osfield
d8d0ac60a7 Added primitve merging into the osg::Geometry optimizer. 2002-07-19 13:49:54 +00:00
Robert Osfield
b498e74078 Changed the "reflect.rgb" path to "Images/reflect.rgb" to the help find the
file required.
2002-07-19 09:10:41 +00:00
Robert Osfield
3cba9a52ef Updates NEWS file for 0.9.0 release.
Added default computeBound() implementation to osg::Drawable which uses
a PrimtiveFunctor to compute the bounding box in a generic way, that
will work for all Drawable subclasses that implement the accept(PrimitiveFunctor&).
2002-07-18 22:35:54 +00:00
Robert Osfield
325b119218 Moved the 't' operation on texture modes across to use the new
StateSet::setTextureMode methods, this enables 't' to work once more!
2002-07-18 19:54:22 +00:00
Robert Osfield
34be82c1ee Moved get/setUserData from osg::Node into its superclass osg::Object to
allow other subclasses to add their own custom data.
2002-07-18 19:41:52 +00:00
Robert Osfield
ff8b4c001d Rewrote the osg::Drawable::AttributeFunctor and PrimtiveFunctor to make
them more consistent with each other. This does mean an API change, so
dependanct code in the OSG has been updated accordingly.
2002-07-18 15:36:14 +00:00
Robert Osfield
1d9dd54d11 From Randall Hopper, warning fixes for IRIX. 2002-07-18 15:28:26 +00:00
Robert Osfield
979fc70a94 From Brede Johansen, fix the TexturePaletteRecord::endian() to handle
old flt versions (11, 12 & 13).
2002-07-18 15:25:02 +00:00
Robert Osfield
b513517502 From Brede Johansen
"I have found one bug in the ConvertFromFLT::visitFace() function.  In the
early days of the Flight format, before the LightPoint record existed
they used face records with a light (-point) attribute."
2002-07-18 14:29:32 +00:00
Robert Osfield
8036901ea1 Rewrote osg:Statistics so that it is PrimitiveFunctor as is now completely
decoupled from osg::Drawable.  The Drawable::getStats() virtual method
no longer exists.

Updated the Viewer to use the osg::Statistics incarnation and reformated stats
to clean it up.
2002-07-18 14:20:01 +00:00
Robert Osfield
f2b6f8c873 Added code into osg::LightSource so it correctly computes its bounding
sphere, taking into account any subgraph below, and the light itself
if it is not a infinite light.
2002-07-18 10:55:04 +00:00
Robert Osfield
8378d6802b Removed repeated return transform in the visitDOF method. 2002-07-18 10:41:39 +00:00
Robert Osfield
8ad68f98e9 Added support for .sgi alias extension to the .rgb plugin. 2002-07-18 10:38:16 +00:00
Robert Osfield
a7c365c396 Fixed warnings. 2002-07-18 10:06:21 +00:00
Robert Osfield
7a8eeb3c92 Converted the osg::Material::set/getShininess option to use the standard
OpenGL range of 0.0 to 128.0 instead of the previous normalised shiniess
range. This brings it inline with the way the rest of the OSG uses a
1 to 1 mapping to OpenGL.

Converted the various loaders to use the new range, which is almost all
cases was simply removing the /128.0f which was required before!
2002-07-18 09:55:30 +00:00
Robert Osfield
1a139efbbc Added const to LessGeometry functor to fix Win32 build. 2002-07-18 09:17:50 +00:00
Robert Osfield
3ec32aab82 Fixed spelling mistake. 2002-07-18 00:55:01 +00:00
Robert Osfield
09bdb10af5 Various fixes to the flt loader, and knock on changes to the osgUtil::Optimizer
to better support removal of seperate osg::Geometry instances where they
share the same state and bindings.
2002-07-18 00:53:03 +00:00
Robert Osfield
735b9d2318 Changed from a -> to *() when using the object pointed to by a reverse iterator,
to fix problems with build under VS6/STLport.
2002-07-17 16:24:55 +00:00
Robert Osfield
6524548eb2 Fix for Win32 build. 2002-07-17 12:21:53 +00:00
Robert Osfield
8c0d510571 Several items of work related to adding a manual creation of occluders
option to the osgoccluder demo.

First the osgGA classes have been generalised a little to better support
new GUIEventHandler subclasses.

Second osgGLUT has a new option for registering a user defined event handler,
the allows the application to add externally extra options to the osgGLUT viewer.

Third, the osgoccluder demo now works in two modes. The original create
four occluder sides to wrap an loaded model, the second an interactive
mode which allows the users to add occluders to the model by pointing
to points and pressing 'a' to add a point, the 'e' to end the occluder
polygon, polygons must be convex, planer and be defined in an anitclockwise
order.  To start the osgoccluder in this mode one simple runs it with the
'-c' option.  Run osgoccluder with no parameter to get a list of options.
2002-07-17 10:00:50 +00:00
Robert Osfield
f55233b20d Updates from Bob Kuehne and Kristopher Bixler to remove the fink
dependency from the MacOSX build.
2002-07-16 19:21:31 +00:00
Robert Osfield
dadbd03443 Fix to DOF Record from Sasa Bistrovic 2002-07-16 19:19:31 +00:00
Robert Osfield
e0c95723f2 Added SpotExponent to the spot light. 2002-07-16 19:17:30 +00:00
Robert Osfield
7fe394ac42 Removed repeat line from Makefile. 2002-07-16 18:56:12 +00:00
Robert Osfield
76d1775487 Bumped up the version numbers to 0.9.0 to reflect the upcomming release. 2002-07-16 15:43:20 +00:00
Robert Osfield
f3d74525fa Rewrote the apply_imp template method so that it takes an initialization
paramater.
2002-07-16 15:28:25 +00:00
Robert Osfield
a389dfef8b Fixes for MacOSX build from Bob Kuehne. 2002-07-16 15:13:57 +00:00
Robert Osfield
442b266f2e Added the beginings of an osglight demo. 2002-07-16 15:12:36 +00:00
Robert Osfield
b9281a6f58 Added TextureCubeMap.cpp to the .osg plugin Makefile. 2002-07-16 11:33:36 +00:00
Robert Osfield
8a14aa29cd Added support to osgUtil::Tesselator to insert extra vertices and other
attributes into an osg::Geometry node.  Uses the new osg::ArrayVisitor.

Converted the osg plugin Geometry support to use the new UByte4 class.
2002-07-15 22:23:57 +00:00
Robert Osfield
5530406c9a Removed the second texture from the prerender demo so as not over complicate
the final image.
2002-07-15 13:39:11 +00:00
Robert Osfield
9c56a57de3 Fixed the orientation of the osgreflect demo so that the reflection plane
is orientated towards the viewer.

Changed the lightmodel ambient level to 0.1,0.1,0.1 instead of 0.0, so that
a small amount of ambient lighting is available to render back surfaces.
The osgreflect and osgprerender suffered unexpected behaviors because of
no lighting on the backfaces.
2002-07-15 13:20:41 +00:00
Robert Osfield
e9f30add38 Added a MatrixTransform to tilt the osgreflect demo so that the reflection
plane is seen clearly.
2002-07-15 13:14:28 +00:00
Robert Osfield
0a6fdb6ae0 Fixed the optimization of the orientation conversion. 2002-07-15 13:13:46 +00:00
Robert Osfield
e6f48efe78 Fixed memory leak in FieldReaderIterator.cpp.
Updated the Make/osgtests.bat and Make/debugtests.bat scripts.
2002-07-15 11:44:21 +00:00
Robert Osfield
08f5b7cbdd Removed the old hangglide directory. 2002-07-15 10:51:45 +00:00
Robert Osfield
6e40d676a2 Renamed osghangglide demo. 2002-07-15 10:45:13 +00:00
Robert Osfield
db892e6bfe Added State::disableTexCoordPointersAboveAndIncluding( unit ) method so that
all unsed texture units can be turned off simply within Drawables such
as Geometry and GeoSet. This can be used to prevent bleed of arrays from
one object to the next - which can cause crashes.
2002-07-15 10:03:59 +00:00
Don BURNS
6a2aa35c26 Changes for Sunos 2002-07-15 04:42:44 +00:00
Don BURNS
523b64ef3f Added Logos loader 2002-07-14 21:49:51 +00:00
Robert Osfield
8883f1d571 Fixed unused variable `osg::StateSet *osgStateSet' warning 2002-07-14 20:51:31 +00:00
Robert Osfield
e7657f6b51 Added Drawable::AppCallback example and fixed a warning. 2002-07-14 20:48:30 +00:00
Robert Osfield
9792aa09dc Tweaked the color and aspect ratio settings of the pre rendering bin. 2002-07-14 20:32:05 +00:00
Robert Osfield
f32245ba5b Fixed computeNearFar bug in CullVisitor::apply(Billboard&). 2002-07-14 16:26:03 +00:00
Robert Osfield
733be1b309 Fixes to read/write of MatrixTransform/Transform. 2002-07-14 10:46:46 +00:00
Robert Osfield
32a4625e59 Copy and Paste bug where an for() loop was repeated within itself, which
was introduced when moving across to use osg::Geometry.
2002-07-14 08:35:35 +00:00
Robert Osfield
4895b22da1 Fixed various warnings which were appearing under MacOSX. 2002-07-13 21:17:40 +00:00
Robert Osfield
db888b191c Conveted GeoSet to use the new state::set*Pointer/disable*Pointer methods
to keep the current state valid.
2002-07-13 20:31:30 +00:00
Robert Osfield
12be8e5493 Support added for multitextured TXP files, sent in by Boris Bralo. 2002-07-13 14:16:41 +00:00
Robert Osfield
bbc6779f95 Added missing MatrixTransform.cpp file 2002-07-12 21:45:54 +00:00
Robert Osfield
717dab9389 added glutInit to osgparticle demo to fix crash under MacOSX. 2002-07-12 21:45:08 +00:00
Robert Osfield
5504f51774 Added second texture to osgprerender demo to test out multitexture in
osg::Geometry, it works!!
2002-07-12 21:42:27 +00:00
Robert Osfield
d87d27b749 Added MatrixTransform header and source. 2002-07-12 21:08:19 +00:00
Robert Osfield
1f9e4547e7 Changed the osgmultitexture demo so that it uses a TexEnv::BLEND mode
with a colour.  This lightens the resultant models.
2002-07-12 19:50:52 +00:00
Robert Osfield
995f6f9e21 Added using namespace osgUtil to get round IRIX/Windows compiler differences. 2002-07-12 18:14:45 +00:00
Robert Osfield
6f392cdbfa Ported distribution across to use the new osg::MatrixTransform and osg::BlendFunc
class instead of osg::Transform and osg::Transparancy respectively.
2002-07-12 18:12:01 +00:00
Robert Osfield
8128265e09 Have added a #define USE_DEPRECATED_API to include/osg/Export, and
various
osg header and source files to optional compile in deprecated parts of
the
OSG API.

Have renamed osg::Transparency osg::BlendFunc to bring it in line with
the
rest of the OSG's StateAttribute classes which are named after their
OpenGL counterparts.  include/osg/Transparency still exists and is
simply
a typedef to BlendFunc and is enclosed in a #ifdef USE_DEPRECTATED_API
block.

The matrix methods in the osg::Transform class have been
moved/replicated in
a osg::MatrixTransform sublcass from osg::Transform.  The old matrix
functionality is still present in the osg::Transform class but is guard
by #ifdef USG_DEPRECATED_API blocks.  One should now think of
osg::Transform
as being a Transform Node base class.  MatrixTransform has all the
functionality of the original Transform class, so should be used
instead.
2002-07-12 14:25:10 +00:00
Robert Osfield
00470acb61 Fix, sent in by Macro Jez, to the set of the camera with the computed near and far plane, so that
it is only updated when  _computeNearFar != CullVisitor::DO_NOT_COMPUTE_NEAR_FAR.
2002-07-12 13:00:09 +00:00
Robert Osfield
3edb8a3d18 Added blend color to osg::TexEnv 2002-07-12 10:30:27 +00:00
Robert Osfield
0d84d3ed15 Fixed indenting. 2002-07-12 09:16:49 +00:00
Robert Osfield
5b97336e37 Addition of RoadRecords from Yefei He. 2002-07-12 08:48:27 +00:00
Robert Osfield
0ea6a7af4a Fixes for Win32 build 2002-07-11 21:08:02 +00:00
Robert Osfield
840df13438 Added Makefile for osgmultitexture demos. 2002-07-11 18:33:30 +00:00
Robert Osfield
8219a0a63a Added support for multitexturing to osg::State and added osgmultitexture
demo which adds as spherical environment map using texture 1 to any model.
2002-07-11 16:12:24 +00:00
Robert Osfield
c4c97a0f64 Moved the code referencing osg::BoundingBox::isValid() and
osg::BoundingSphere::isValid() across to use the valid() methods, the later
being more consitent with other classes such as osg::ref_ptr<>.
2002-07-11 14:32:21 +00:00
Robert Osfield
b015d80d68 Fixes for win32 build 2002-07-11 12:57:53 +00:00
Robert Osfield
cd3c2c0b77 Fixes for Win32 build 2002-07-11 11:36:25 +00:00
Robert Osfield
54c27e36bf Updates for new use of GLushort instead of osg::ushort in GeoSet index pointer. 2002-07-10 22:38:02 +00:00
Robert Osfield
5d18f0ee11 Tidied up the types in osg::GeoSet so that the index pointers use GLushort
and GLuint to get round compile issues under MacOSX.
2002-07-10 22:33:08 +00:00
Robert Osfield
8b1e9345df Updates to osg::Drawable::AppCallback and osgprerender demo. 2002-07-10 20:30:57 +00:00
Robert Osfield
27338f57b1 Added app callback to Drawable. 2002-07-10 15:35:47 +00:00
Robert Osfield
b3ac26f3dc Updates to osgprerender to support use of rendering to an image, rather then
just a texture.
2002-07-10 13:33:25 +00:00
Robert Osfield
c1fc3dcdb9 Ported all the demos and loaders across to use the new multitexturing API. 2002-07-10 11:22:24 +00:00
Robert Osfield
46af97727a Added Yefei He's RoadRecords to the flt loader, these records will be
ignored by the loader, but will allow the loader to skip over them and
continue reading the rest of the file correctly.
2002-07-10 09:32:44 +00:00
Robert Osfield
44d0bb05e7 Updates from Macro to support the new multitexture API, and improve
bounding box computation.
2002-07-10 09:14:46 +00:00
Robert Osfield
842eb59e1f Implemented more code for the new osgprerender demo. 2002-07-09 19:23:53 +00:00
Robert Osfield
68540f5fb1 Updates to the osgprerender code. Still doesn't do anything interesting yet.. 2002-07-09 13:31:50 +00:00
Robert Osfield
3ab727713d Added new demo osgprerender to demonstrate how to prerender a scene and use
the result in the main rendering for special effects.
2002-07-09 13:17:42 +00:00
Robert Osfield
aca7f7b216 Fixes for IRIX build. 2002-07-09 10:23:48 +00:00
Robert Osfield
0c943945f7 Implemented most of the changes required for supporting multitexturing in
the osg::State/osg::StateSet/osg::StateAttribute and related classes.
2002-07-09 09:35:42 +00:00
Robert Osfield
8f4a77ce4c Fixes for Windows build. 2002-07-07 17:42:34 +00:00
Robert Osfield
e23b40e316 Added include<unistd.h> to __DARWIN_OSX__ build. 2002-07-07 17:40:34 +00:00
Robert Osfield
0801b363f5 Work on supporting multitexturing in State/StateSet/StateAttribute/Geoemtry. 2002-07-07 14:40:41 +00:00
Robert Osfield
0dcd5cb017 Added support for Win32 broadcast and recience over lan. Changes sent in
by Michael Gronager.
2002-07-04 18:41:13 +00:00
Robert Osfield
5957c21082 Fixed the TriangleFunctor QUAD_STRIP code so that it produces consistent
results.
2002-07-04 09:49:12 +00:00
Robert Osfield
04a841bf93 Spotted by Neil Salter - missing transform. in the Transform copy operator. 2002-07-03 20:33:21 +00:00
Robert Osfield
3700e7e2cd Reimplemted the osgUtil::SceneView::setCalcNearFar() functionality to bring
it inline with the CullStack/CullVisitor implementation.  Also added the
setSmallFeatureCullingPixelSize() method and wired them up inside
SceneView.cpp so they set the corresponding CullVisitor paramters.

Intergrated pfImage copying change in the Performer plugin, submission sent in by Ulrich Hertlein
2002-07-02 19:53:18 +00:00
Don BURNS
304e56db51 osgcallback required fixes for new osg::Drawable::CullCallback 2002-07-02 06:28:41 +00:00
Don BURNS
d2aa4270ce Added support for CullVisitor to contain a osg::State. This used when
cull Callbacks require the contextID for  doing operations on texture
objects, for example.  Modified CullVisitor SceneView and Drawable
2002-07-02 06:22:28 +00:00
Robert Osfield
48e7679e78 Rewrote the osgUtil::Tesselator so that it is easier to use, and can also
easily retesselate osg::Primitive::POLYGONS found in Geometry objects.
Added calls to the tesselate to the lwo and flt loaders.
2002-06-28 22:42:02 +00:00
Robert Osfield
4e81711ef7 A couple fixes to remove Performer runtime warnings. 2002-06-28 20:54:09 +00:00
Robert Osfield
ebbd72556e Fixes from Ulrich Hertlein to build of pfb plugin. Small mods to these
by Robert.
2002-06-28 16:25:46 +00:00
Robert Osfield
ee6444c643 Added to the osggeometry demo. 2002-06-28 14:42:34 +00:00
Robert Osfield
f809ef8a7b Rewriting the osggeomtry demo to illustrate more primitive types. 2002-06-28 11:11:20 +00:00
Robert Osfield
26497c7581 Change =0 to osg::Vec2Array::iterator() in .obj loader to get round warnings
under gcc3.0.x
2002-06-28 08:36:02 +00:00
Robert Osfield
01992a7790 Ported the flt plugin across to use osg::Geometry, it still uses a GeoSet
internally, and I will remove this after some futher work.
2002-06-27 20:29:32 +00:00
Robert Osfield
fb3e705709 Converted the template DrawElements primitive class into three seperate
non templated classes - UByteDrawElements, UShortDrawElements, UIntDrawElements.
2002-06-27 13:15:34 +00:00
Robert Osfield
532a32416f Moved the AttributeArray and Primitive classes into their own header and
source files.
2002-06-27 10:50:19 +00:00
Robert Osfield
726d680184 Removed the test aginst a iterator as a bool. 2002-06-27 09:56:30 +00:00
Robert Osfield
7c95922300 Ported LWO loader across to use osg::Geometry. Work not quite complete,
as we need to retesselate any concave polygons that can exists in these
datasets.
2002-06-26 21:08:17 +00:00
Robert Osfield
8094c777b7 Added templated constructor to TemplateArray & DrawElements template to
handle VisualStudio7.0 build.

Ported 3DS across to use osg::Geometry instead of osg::GeoSet.
2002-06-26 17:48:13 +00:00
Robert Osfield
bdafc27d9c Ported pfb, txp and obj loaders across to use osg::Geometry. 2002-06-26 14:34:04 +00:00
Robert Osfield
40fefcf335 Ported various demos and support classes over to use the new osg::Geometry class
thus removing dependancy on osg::Geoset from most of the OSG, only loaders
left to port now.
2002-06-26 10:28:17 +00:00
Robert Osfield
1ceb0b60a8 Fixes for Cygwin build from Norman Vine. 2002-06-25 20:47:42 +00:00
Robert Osfield
3765631cd7 Fix to Quat::slerp so that it interpolates along the shortest path. 2002-06-25 20:36:17 +00:00
Robert Osfield
cbeeeefdab Added osg::Drawable::PrimitiveFunctor and TriangleFunctor subclass for
querrying the primitive data inside Drawables.  Moved various support
classes over from being osg::GeoSet based to osg::Geometry based.
2002-06-25 20:27:51 +00:00
Robert Osfield
336c47e5fe Fixed osgText::Text::DrawModeType::ALIGNEMENT spelling mistake, now
is ALIGNMENT.
2002-06-24 21:44:27 +00:00
Robert Osfield
cbb95d0445 Checked in .osg support for the new osg::Geometry class. 2002-06-24 21:37:34 +00:00
Robert Osfield
d174f60f8c Added required std:: to front of endl to fix Win32 build. 2002-06-24 12:53:27 +00:00
Robert Osfield
f2e215bf44 Added conversion to osg::GeoSet::converToGeometry() utility to help the
migration to and testing of the new osg::Geometry class.
2002-06-23 21:43:46 +00:00
Robert Osfield
bbc129e5c6 Compile Fixes for Win32. 2002-06-22 15:46:43 +00:00
Robert Osfield
7dd82beaa9 Temporarily removed the references to multi-texturing calls. 2002-06-21 19:24:43 +00:00
Robert Osfield
49ab8f4706 Added new osggeometry demo to test the work on the new osg::Geometry Drawable. 2002-06-21 16:45:45 +00:00
Robert Osfield
53b6d0c92e Bug fix to the size calculation of bmp images, changed both the reading and
writing of images.
2002-06-21 15:14:29 +00:00
Robert Osfield
476f931eaa Addd new experimental osg::Geometry Drawable which will eventually replace
GeoSet.  Currently doesn't draw anything, and is very much in the
early design stages.
2002-06-20 19:54:08 +00:00
Robert Osfield
d763a47d2e Mods to MemoryManager to make the optimized build produce dummy
implementations for all the public functions found in the header,
this should prevent problems when not compiling in the MemoryManager
under IRIX 64 build.
2002-06-20 18:17:36 +00:00
Robert Osfield
4f4f68e961 Added support for reading the new OSG_MAX_TEXTURE_SIZE environmental variable
inside the osg::Image::ensureValidSizeForTexturing() method. The
smallest of GL_MAX_TEXTURE_SIZE and OSG_MAX_TEXTURE_SIZE is used for the
final max texture size.

This new env. var. allows users to deliberate cap the size of their textures
so they can test whether their models are limited by texture memory.  If
reducing the max texture size increases performance then you are limited
by texture memory!
2002-06-19 18:45:05 +00:00
Robert Osfield
77e1fb7f80 Added support for reading and writing OccluderNode's to the .osg file format. 2002-06-19 16:06:03 +00:00
Robert Osfield
b12e36cede Added computation of the bounding volume of osg::OccluderNodes.
Added support for osg::BoundingSphere::expandBy*(osg::BoundingBox) and have
added osg::BoundingSphere/Box::valid() which deprecates isValid(), this
is to be more consistent with other classes in the OSG.
2002-06-19 15:18:47 +00:00
Robert Osfield
21beb236d2 Added support for occlusion of holes in occluders, and cleaned up the
interface to ShadowVolumeOccluders.
2002-06-19 10:19:10 +00:00
Robert Osfield
b3c26d5634 Changed the osg::LightSource so its Light attribute is now generalised to
be a StateAttribute.  This allows alternative implementations of Lights
other than the standard osg::Light.
2002-06-19 08:34:19 +00:00
Robert Osfield
5e85cd59ab Added support for occluders occluding other occluders, which helps reduce
the number of occluder that will be used in cull traversal to only the
ones that will be effective. Note. Holes in occluders arn't handled in
this occluder occlusion test, will implement this later.
2002-06-18 22:35:48 +00:00
Robert Osfield
aa58ecae2f Clean ups for the Windows build. 2002-06-18 10:18:12 +00:00
Robert Osfield
d3b4a36447 Added the length argument to a std::string argument, under Linux it
compiled with the default value npos, under Windows it broke the build,
add the npost excpilicity should get round this difference in implementation.
2002-06-18 09:09:37 +00:00
Robert Osfield
6767dd49d0 Rewrote the FileUtils support for data and library file paths, moving the
storage of the path lists into osgDB::Registry, and changed the data
structor from a char* to a std::deque.  Changed a names of couple of the
convinience functions in osgDB/FileUtils to better reflect the two
public FilePathList's - DataFilePathList and the LibraryFilePathList.

Added support into the osgDB::Registry::readNode/Image/Object methods
for pushing and popping the path of the current file being loaded.
2002-06-17 21:50:37 +00:00
Robert Osfield
27412c27c9 Fixes to the occluder culling code to properly disable occluders to prevent
self occlusion.
2002-06-17 09:10:26 +00:00
Robert Osfield
156a9fbaea Fixes for Visual .NET and Mingw builds, and fix MacOSX notify() crash. 2002-06-15 20:57:50 +00:00
Robert Osfield
52c36dde70 Added computation of occluders volume scaled relative to the frustum volume,
all volumes computed in eye coords.
2002-06-15 12:14:42 +00:00
Robert Osfield
25b420ac0e Added computation of the occluders volume, scale it to a ratio of the
frustum.
2002-06-14 16:28:47 +00:00
Robert Osfield
7adb75c572 Added occluder hole test code into the osgoccluder demo. The code works,
but I've commented it out right now as the Geode physically representing
the occluder doesn't yet have a hole in it - just a cosmetic thing.
2002-06-14 14:50:31 +00:00
Robert Osfield
73ec80843f Refined the CollectOccluderVisitor so that it checks the subgraph below
a node contains occluders before traversing.
2002-06-14 13:49:59 +00:00
Robert Osfield
c71bf35152 Improvements to the plane clipping code. 2002-06-14 11:27:34 +00:00
Robert Osfield
d7760fbbd4 Further updates to the occlusion culling code, also adding missing OccludeNode
file the .osg plugin.
2002-06-14 08:45:28 +00:00
Robert Osfield
61df1ed6b7 Further work on occlusion culling. 2002-06-13 23:46:02 +00:00
Don BURNS
8c5722577e removed the use of gettimeofday for 32 bit architectures... 2002-06-13 19:39:28 +00:00
Robert Osfield
f2cbab46d4 Added -osgGA to the Makefile list. 2002-06-13 19:10:29 +00:00
Robert Osfield
4e5a3696e3 Merge Randall's changes. 2002-06-13 18:27:14 +00:00
Robert Osfield
0ebe473eb5 Further work on Occlusion Culling. Most of work is complete, just debugging
required now.
2002-06-13 16:21:00 +00:00
Robert Osfield
171312e720 IRIX build fix. 2002-06-12 15:43:47 +00:00
Robert Osfield
65a9a8043e Changes for MacOSX build, send in by Bob Kuehne. 2002-06-12 14:57:35 +00:00
Robert Osfield
47bbe8f3cc Fixed the osgDB::getFilePath, osgDB::getSimpleFileName() and osgDB::getStrippedName()
so that they check for both unix style '/' and windows style '\' slashes in
file names.
2002-06-12 14:46:44 +00:00
Robert Osfield
e467027946 Fix for renaming of ShadowOccluderVolume to ShadowVolumeOccluder. 2002-06-12 13:54:14 +00:00
Robert Osfield
c7e99ff77a Further work on occludision code. 2002-06-12 09:22:30 +00:00
Robert Osfield
fa13d948b5 A little more work on Occlusion culling. 2002-06-11 19:52:55 +00:00
Robert Osfield
247cb3ff7e Checked in Macro Jez's additions to osgText to support .osg IO make it
a fully functioning NodeKit.

Also reimplement notify() to try an prevent a crash which has been caused by
to objects in notify.cpp being initiliazed twice, the second time the auto_ptr
holding the dev/null ofstream was being initilized to 0.
2002-06-11 18:41:57 +00:00
Robert Osfield
e1ba8a6292 Added osg::CollectOccludersVisitor which is a helper class for finding active
occluder in the view frustum, to be used as pre cull traversal.
2002-06-10 13:50:25 +00:00
Robert Osfield
348419219d Created new helper class osg::CullStack to handle the accumulation of projection,
modelview and culling sets, to be used during travesal of the scene graph, such
as the cull traversal.
2002-06-10 11:21:21 +00:00
Robert Osfield
d91b848a63 Checked in migration from osgUtil based GUIAdapter code to Neil Salter's
osgGA (Gui Abstraction).  This may break users code, but all it should
require to fix the builds should be a change from
osgUtil::CameraManipulator (etc) to osgGA::CameraManipulator and
include <osgUtil/CameraManipulator (etc) to osgGA/CameraManipulator and
the extra dependency of the link line.
2002-06-09 13:10:09 +00:00
Robert Osfield
0a8d0a255f More more occlusion culling. 2002-06-08 19:58:05 +00:00
Robert Osfield
bf6bf60e21 Added osgoccluder demo, it creates a single quad occluder, but the culling
code is not complete yet, so it won't actually do any occlusion culling,
the demo is here so I can test the evolving occlusion culling code.
2002-06-07 20:03:08 +00:00
Robert Osfield
96a6b3c5c6 Added default IntersectVisitor::_hitReportingMode to be ONLY_NEAREST_HIT. 2002-06-07 13:57:20 +00:00
Robert Osfield
8140035ea8 Fixed a couple of problems with the NodeKit support. 2002-06-07 11:32:18 +00:00
Robert Osfield
f8502a076c Added support for NodeKits to the osgDB::Registry. Object names in .osg
files which have the library::class syntax will automatically invoke
the dynamic loading of either a nodekit or database plugin.
2002-06-07 10:03:49 +00:00