Commit Graph

617 Commits

Author SHA1 Message Date
Robert Osfield
501f28449c Fixed typo of _texParametersDirty. 2002-08-26 20:11:24 +00:00
Robert Osfield
5a3f8fc8a6 Moved the #define GL_DOT3_RGB_ARB's into their own #ifndef GL_ARB_texture_env_dot3 block. 2002-08-26 15:02:31 +00:00
Robert Osfield
59a5e800fe Moved #define's for OpenGL1.2 image formats into the include/osg/Image header
to allow compilation of the rgb plugin under Windows with its 1.1 OGL headers.

Added float.h to Math's compile path for VS7 compilation.
2002-08-26 13:04:43 +00:00
Robert Osfield
0b5c20af8d Made the sort callback's sort method pure virtual. 2002-08-26 12:34:42 +00:00
Robert Osfield
43d3beb59e Removed redundent parameter in sort() callback which was never being used. 2002-08-26 12:28:10 +00:00
Robert Osfield
2b7dbecc0c Added #include <stdlib.h> to include/osg/glut for Windows build. 2002-08-26 10:30:40 +00:00
Robert Osfield
db70c95d24 Updated Texture3D to use extension checking to get the relevant 3d texturing
extensions.
2002-08-26 10:24:01 +00:00
Robert Osfield
8e75f531e3 Converted code dependant on osg::Texture across to its replacement osg::Texture2D. 2002-08-25 15:31:44 +00:00
Robert Osfield
9e3a282429 Added guard to prevent VS7 builds using the #defines for cosf etc. 2002-08-24 21:12:51 +00:00
Robert Osfield
d87dee5a75 Added support for the texture_env_dot3 extension. 2002-08-24 21:11:07 +00:00
Robert Osfield
239068f223 Added new osg::TextureBase, osg::Texture1D, osg::Texture2D, and osg::Texture3D
classes, and changed osg::Texture and osg::TextureCubeMap so that they now derive
from osg::TextureBase.
2002-08-24 19:39:39 +00:00
Robert Osfield
0c383901a7 Clean up of include/osg/GL and include/osg/GLExtensions for better support of
Windows build.
2002-08-24 19:35:00 +00:00
Don BURNS
9979e80bed Modifed osgGLUT viewer and messages in SGV to allow for start up in full
screen mode.
2002-08-23 00:43:10 +00:00
Robert Osfield
c45c3d3255 Added calling of the LightSource and ClipNode as Group by the NodeVisitor and
fixed the CullVisitor and Optimizer to take account of this.
2002-08-22 09:19:41 +00:00
Robert Osfield
ed3d083368 Fixed the osg::Transform::coompute*() methods so the were using the _referenceFrame
correctly, as previously they were doing the exact opposite from what they
should have been doing.
2002-08-22 08:14:38 +00:00
Robert Osfield
c2c6bb5ca6 Moved the include<osg/GLExtensions> from the State header into State.cpp, and
added it into other files which now required it.
2002-08-20 22:43:42 +00:00
Robert Osfield
814dcc9677 Added IO Support for TexEnvCombine state attribute. 2002-08-20 18:00:22 +00:00
Robert Osfield
88f387810d Added support for the tex_env_add and tex_env_crossbar extensions. 2002-08-20 14:15:49 +00:00
Robert Osfield
36ad072e14 Added the definition of GL_FOG_COORDINATE_SOURCE to Fog.cpp.
Added #include<string> to the GLExtensions header.
2002-08-20 12:29:35 +00:00
Robert Osfield
058ef0dc98 Merged fixes to the osg::GLExtensions function pointer code from Stefan Huber,
and a fix to osg::State's secondary color code from Bob Kuehne.

Moved the body of the getGLExtensionFuncPtr() into the header to help out
support for Windows mapping of different OpenGL extensions function ptr per
dll.
2002-08-20 10:14:12 +00:00
Robert Osfield
93303cf1cd A FogCoordinateSource set/get methods to osg::Fog which correspond to the
FogCoord support added to osg::Geometry. Added suppot for these new parameters
to the .osg plugin.
2002-08-20 10:08:04 +00:00
Robert Osfield
7a0f041a15 Added default values to the TexEnvCombine constructor. 2002-08-19 19:53:34 +00:00
Robert Osfield
41db2e08d0 Added missing include/osg/ClearNode 2002-08-19 15:14:10 +00:00
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
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
2c174237c7 Fixed typo in #define of UBYTE4 2002-08-17 07:34:11 +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
8551e1c555 Supported added for secondary color & fog coords to osg::Geometry and osg::State. 2002-08-15 20:27:33 +00:00
Robert Osfield
7d00b3b729 Added SG_EXPORT to PositionAttitudeTransform and MatrixTransform. 2002-08-14 20:56:04 +00:00
Robert Osfield
60b73bcb7b Commented out the #define USE_DEPRECATED_API. 2002-08-14 09:30:02 +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
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
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
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
824e77e518 Removed inline definition from front of setMaxAnisotropy method. 2002-08-08 15:09:18 +00:00
Robert Osfield
ed30834757 Fixed typos, sent in by Warren Macchi. 2002-08-08 13:45:16 +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
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
5822c2c1ff Fixed typo in comment. 2002-08-06 10:07:17 +00:00
Robert Osfield
8a5d7f9bfb Adde getViewFrustum() to camera. 2002-08-06 10:04:06 +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
fd788daa69 Added support to StateAttribute/State to support PROTECTED flag for modes and attributes
so that they cannot be overriden from above via the OVERRIDE flag.  This is
useful for things like manipulators that have handles display in the scene, you
might want to prevent their state being affected by other overriding of
light, wireframe modes etc.
2002-08-05 12:40:24 +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
cdf63113f1 Changed the copy constructor of for _light mem var to use a dynamic_cast<StateAttribute*>. 2002-08-03 19:37:32 +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
067c10b49c Fixed comments. 2002-08-03 16:48:36 +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
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
0977e68727 Fixes to NodeCallback and RenderBin from Alberto Barbati. 2002-07-28 12:49:01 +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
73b007fccb Added return value to addViewport. 2002-07-27 10:09:39 +00:00
Robert Osfield
8901c42434 Change Geometry paramter name to lower case geometry. 2002-07-26 12:49:19 +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
6d690740a6 Mods for HP-UX port. 2002-07-23 15:01:51 +00:00
Robert Osfield
80afddc08d Checked in Tino Schwarze's port to HP-UX. 2002-07-23 10:48:22 +00:00
Robert Osfield
609a9ebf21 Updates to osgParticle form Macro. 2002-07-22 16:01:00 +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
a1c54dc663 Removed the rendundent variables in the ConvexPlanerPolygon as these were
unused and unitialized.
2002-07-20 22:36:55 +00:00
Robert Osfield
4594907832 Small bug fix to osg::BoundingBox::expandBy(x,y,z).
Updated ChangeLog and NEWS for the release.
2002-07-19 15:49:43 +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
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
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
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
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
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
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
3a964a6b93 Updated docs and added osgGA 2002-07-16 20:07:32 +00:00
Robert Osfield
6c8c02792a Fixed the new TemplateArray desctructor. 2002-07-16 10:20:26 +00:00
Robert Osfield
7cf7d8fadb Added protected destrcutor to TemplateArray. 2002-07-16 10:16:34 +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
e280b50d31 Added osg::UByte4 class, which can be used to represent packed colors.
Changed osg::UByte4Array across to use the new osg::UByte4 class rather
than a GLuint as do previously.

Cleaned up some of the paramters in osg::Vec4.
2002-07-15 22:18:47 +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
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
Don BURNS
b92ee3c95d put a typedef in public area of class for sun compilers 2002-07-13 02:46:06 +00:00
Robert Osfield
d87d27b749 Added MatrixTransform header and source. 2002-07-12 21:08:19 +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
3edb8a3d18 Added blend color to osg::TexEnv 2002-07-12 10:30:27 +00:00
Robert Osfield
0ea6a7af4a Fixes for Win32 build 2002-07-11 21:08:02 +00:00
Robert Osfield
1d136eab9f Added #define for GL_TEXTURE0_ARB 2002-07-11 18:32:41 +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
cd3c2c0b77 Fixes for Win32 build 2002-07-11 11:36:25 +00:00
Robert Osfield
eca5797ae4 Fixed bug in disabledTexCoordPointer where a '>' was being used where it
should have been a '>='.
2002-07-11 11:33:06 +00:00
Robert Osfield
4372c9a334 changed unsigned int/short/char* references to GLuint,GLushort,GLubyte respectively. 2002-07-11 08:28:09 +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
c1fc3dcdb9 Ported all the demos and loaders across to use the new multitexturing API. 2002-07-10 11:22:24 +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
f4a167c64c Added setCurrentRenderBin() method. 2002-07-10 09:04:28 +00:00
Robert Osfield
b3904ef729 Warnings fixes for IRIX - there was a missing "const" in the sameKindAs(.) method. 2002-07-09 10:33:15 +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
211a823642 Added comment to reflect Clay Fowlers findings on getting VS to compile
without the Vector wrapper classes.
2002-07-07 22:12:51 +00:00
Robert Osfield
8f4a77ce4c Fixes for Windows build. 2002-07-07 17:42: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
5014a4f809 Used typedef's for std::vector<>'s used inside DrawElements implementations.
Added deperecated comment to osg::GeoSet header.
2002-07-04 14:49:37 +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
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
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
975e2fe709 Removed commas from the end of enum lists. 2002-06-28 08:47:23 +00:00
Robert Osfield
7eaba69bb6 Added SG_EXPORT which was missing. 2002-06-27 15:18:10 +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
90f4aa0515 Added comment to explain #ifdefs for member templates. 2002-06-26 21:11:59 +00:00
Robert Osfield
7bc2a513e7 Added #idef to Export to add check for support for member templates. 2002-06-26 21:10:45 +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
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
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
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
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
ac93c6cdfc Fixed constructor for TemplateArray(const TemplateArray& t,const CopyOp& copyop). 2002-06-21 07:48:05 +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
77e1fb7f80 Added support for reading and writing OccluderNode's to the .osg file format. 2002-06-19 16:06:03 +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
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
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
61df1ed6b7 Further work on occlusion culling. 2002-06-13 23:46:02 +00:00
Robert Osfield
6888d73554 Added #include <osg/ref_ptr> so that it will compile properly regardless
of include order.
2002-06-13 19:34:27 +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
8dcb26967c Removed inappropriate inline keyword which was breaking the IRIX build. 2002-06-12 16:23:59 +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
Don BURNS
9181deb323 #ifdefed out cstdlib for irix 2002-06-07 14:54:33 +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
Robert Osfield
99580f2212 Addd libraryName() method to osg::Object in preperation for the osgDB support
for node kits plugins.
2002-06-06 13:25:36 +00:00
Robert Osfield
21a8149aa5 Removed out of date comment on calling dirtyTransform() which no longer exist
in osg::Camera.
2002-06-05 16:11:57 +00:00
Robert Osfield
dc00711337 Fixed compile problems under VisualStudio6.0 2002-06-05 14:14:32 +00:00
Robert Osfield
9ba7505d1e Checked in osgParticle, writtten by Marco Jez. 2002-06-05 12:44:55 +00:00
Robert Osfield
5feba17410 Added new osg::OccluderNode which subclasses from osg::Group, and will
provide hooks for adding ConvexPlanerOccluders to the scene.
2002-06-05 09:39:04 +00:00
Robert Osfield
f67be7c07f Further work on moving culling functionality from CullVisitor into CullingSet,
in preperation for occlusion culling.
2002-06-04 15:21:24 +00:00
Robert Osfield
ff7a7931fe Warning fix for Windows 2002-06-03 17:54:04 +00:00
Robert Osfield
db78726acf Updates to shadow occlusion culling code. 2002-06-03 17:49:28 +00:00
Robert Osfield
3f84849210 Additions for the support for ConvexPlaneOccluder. Work still underway. 2002-06-03 15:39:41 +00:00
Robert Osfield
f16a539492 Fixes for warnings under VisualStudio 2002-05-29 19:34:01 +00:00
Robert Osfield
ae5e4f848f Added new osgcallback demo, and updated small API changes to improve the
flexiblity of callbacks.

Added beginings of convex planer occlusions culling.
2002-05-28 23:43:22 +00:00
Robert Osfield
a5a267d305 Added pragma to disable warning under VisualStudio.NET. 2002-05-28 16:11:49 +00:00
Robert Osfield
6ab93ff61d Adde osgText::Text::setColor/getColor so that osg::Material's need not be
attached to set the text color.
2002-05-28 14:33:13 +00:00
Robert Osfield
e73d4ca5b3 Changes for Cygwin build, sent in by Norman Vine. 2002-05-28 11:40:37 +00:00
Robert Osfield
02fc6ad5f8 Various updates to operations related to cull traversal. 2002-05-28 10:24:43 +00:00
Robert Osfield
78b7c375d8 Removed , from end of enum. 2002-05-27 06:37:51 +00:00
Robert Osfield
09121a1583 Fixed a bug in the Optimizer::RemoveDuplicateNodesVisitor which was prevent
removal of node which could have been removed.

Added so extra convinience methods to ClippingVolume and utilized them in the
CullVisitor to push and pop only culling planes that are active.
2002-05-23 15:35:12 +00:00
Don BURNS
5ce4a54c0d Fixed spelling error Calander -> Calendar 2002-05-22 19:58:43 +00:00
Robert Osfield
553db68bc4 Added osgUtil::CullVisitor::getCurentRenderGraph() and getRootRenderGraph()
methods which replace getRenderGraph(). Small changing of order of push/pop
of StateSet's in SceneView to clean things up.
2002-05-22 12:01:12 +00:00
Robert Osfield
11b8bd1fd9 Changed the public osg::State::applyMode() and applyAttribute methods so that
they dirty the associated state, this helps keep the OpenGL state valid once
out of local drawing routines.
2002-05-22 10:04:28 +00:00
Robert Osfield
2338b7116a Updates for Doxygen and osgGA headers from Neil. 2002-05-22 08:50:05 +00:00
Robert Osfield
bf872fa7ac Renamed osg::State::getCurrentMode/Attribute(..) to
getLastAppliedMode/Attribute() to make it more consistent with the internal
workings of osg::State.
2002-05-21 09:16:31 +00:00
Robert Osfield
b8d8a8be27 Added osg::State::getCurrentMode and osg::State::getCurrentAttribute().
Aded osg::clampAbove(..) and osg::clampBelow() template functions to
include/osg/Math.
2002-05-21 08:59:26 +00:00
Robert Osfield
00f91631c2 Various API updates to suppor light points developments better, but should also
benifit other extensions to rendering.
2002-05-18 08:39:42 +00:00
Robert Osfield
806efcd0d4 Exposed the CullVisitor::setComputeNearFarMode 2002-05-15 11:27:47 +00:00
Robert Osfield
10c3b4e7bf Fixes to new flipVertical/flipHorizontal. 2002-05-14 10:20:55 +00:00
Robert Osfield
7301d1505a Added osg::Image::flipHorziontal and flipVertical, submitted by Brede Johansen. 2002-05-14 09:34:11 +00:00
Robert Osfield
567989839a Added new template versions of a commonly used maths functions. 2002-05-13 21:19:42 +00:00
Robert Osfield
d140decb44 Added pixelSize method to CullVisitor, and converted small feature
culling to use the pixelSize method instead of a ratio of radius to
distance from eye point.  setSmallFeatureCullingPixelSize() method
has also been added to provide the user with finer control of small
featyre culling.
2002-05-09 18:59:19 +00:00
Robert Osfield
cf4a3500ec Added new osgGA - GUI Adapter library submitted by Neil Salter. This will
replace the current GUI adapter code inside osgUtil.
2002-05-09 10:31:03 +00:00
Robert Osfield
c47e082fa8 Added default values in the constructors of Vec2,Vec3,Vec4 and Quat
default constructors.
2002-05-07 11:08:12 +00:00
Robert Osfield
e296df4632 Added osg::Node::getValidStateSet(). 2002-05-03 22:47:57 +00:00
Robert Osfield
08a4fd5bfc Added support for the managing the StateSet above a LightSource node,
and made it an osg::Group so that it can be used a decorator above a
scene.

Added osgclip demo to the test suite.
2002-05-03 16:47:16 +00:00
Robert Osfield
0977f0de57 Made osg::Viewport::getViewport(..) const. 2002-05-02 22:02:14 +00:00
Robert Osfield
ae8076f83b dded osg::ClipNode class for managing OpenGL clipping planes, and osgclip demo. 2002-05-02 00:14:40 +00:00
Robert Osfield
26d34ed6d6 Qarning fixes, and updated the date in NEWS to reflect todays release of 0.8.45 2002-04-26 08:16:14 +00:00
Robert Osfield
2bd20f5c6f Fixes for IRIX build.
Fix for a warning under VisualStudio.NET.
2002-04-25 22:09:28 +00:00
Robert Osfield
f0e7e8e48b Removed CullViewState from the distribution, moved CullViewState::CullingMode
into CullVisitor, and then removed all references to CullViewState from other
parts of the scene graph.
2002-04-24 20:24:10 +00:00
Robert Osfield
b2e6279178 Removed the use of __FUNCTION__ from MemoryManager to remove problems with
VisualStudio .NET compile.

Added support for OSG_NOTIFY_LEVEL and OSG_FILE_PATH into the relevant getenv
routines.  This compliments the exisiting OSGNOTIFYLEVEL & OSGFILEPATH which
are deprecated but still supported.  The OSG_ version are more consistent
with the rest of the env variables used in the OSG.
2002-04-24 14:52:53 +00:00
Robert Osfield
20b5e59dfd Fix for the Cygwin build related to the new FileUtils_Unix not using the
Windows PATH environmental variable for searching for libraries.  Sent in
by Norman Vine.

Reoder of the makedefs/makedirdefs to fix Mac OSX compilation. Sent in by
Bob Kuehne.
2002-04-24 08:50:03 +00:00
Robert Osfield
2f392b635c Fixed compile problems under VisualStudio w.r.t the new additions for
precompiled mipmaps.  Changed std::size_t to unsigned int.
2002-04-23 10:34:20 +00:00
Robert Osfield
43abbe311e A couple of API additions to osg::ClippingVolume, osg::Matrix and osg::Plane
sent in by Mike Connell.
2002-04-22 21:18:15 +00:00
Robert Osfield
dcfef4a023 Integrated submission from Boris Bralo:
Supported added for precompiled mip maps stored in osg::Image, and read
by osg::Texture.

Updates to TerraPage loader for support of compressed texture images and
precompiled mip maps.
2002-04-22 21:13:33 +00:00
Robert Osfield
8b30a10375 Added code in hangglide to move the earth sky around with the eye point,
use osg::Transform::ComputeTransformCallback.
2002-04-22 19:41:33 +00:00
Robert Osfield
56dc083330 Added support for compute the near and far planes and then applying to
the current projection matrix into CullVisitor itself.  Similar code to
support this has been moved out of SceneView completely.

Added Matrix:: infront of the definition of the static
osg::Matrix::inverse(Matrix) method which was missing.
2002-04-22 14:54:39 +00:00
Robert Osfield
9574ce97d2 Updated TODO list.
Converted AnimationPath so it is now subclassed from osg::Transform::ComputeTransfromCallback()
so that it can be directly attached to the scene to move objects about.

Changed the osg::SateSet::setGlobalDefaults() so that is sets GL_DEPTH_TEST
to ON.

Added guards and creation of default helper classes in osgGLUT::Viewer and
osgUtil::SceneView so that sensible defaults are used when no settings
are used of osg::State/StateSet,osgUtil::RenderStage/RenderGraph/CullVisitor.
2002-04-21 22:05:26 +00:00
Robert Osfield
e3958790a2 Changed the implementation of osg::Quat::makeRotate(heading,pitch,roll) so that
it conforms to the OpenFlight convention of euler angles.  Added documentation
into Matrix and Quat to reflect this.

Added so test code to osgcube for stress testing memory allocation and deallocation.

Commented out the registering of app and cull callbacks in osghud.
2002-04-19 19:55:48 +00:00
Robert Osfield
1131be56dc Fixes for Max OSX build from Bob Kuehne. 2002-04-19 16:22:25 +00:00
Robert Osfield
791150ab69 Warning fixes for VisualStudio 2002-04-17 20:04:41 +00:00
Robert Osfield
5830c60cef Fixes for warnings under VisualStudio 2002-04-17 11:36:38 +00:00
Robert Osfield
e17261c45f Changed the osg::Billboard comution so that it get passed in the current
modelview matrix rathan than an identity matrix, this matrix is then modified
locally.

Changed the osg::Matrix set methods so they are inline.

Added a few useful comments to MemoryManager.cpp to help people understand
the assert's better.
2002-04-17 09:48:19 +00:00
Robert Osfield
5deafbda24 Added clearing of seperation band between horizontal/vertical split stereo
areas.
2002-04-16 15:31:46 +00:00
Robert Osfield
7836540bb3 Added osg::Image::setPixelFormat(..) and setInternalTextureFormat(), and
renamed osg::Image::pixelFormat(), internalTextureFormat(),dataType() to
osg::Image::getPixelFormat() etc.  These changes are to bring it more
into line with the style of the rest of the OSG.

Updated the rest of the distribution to take account for these names changes.
2002-04-16 14:57:39 +00:00
Robert Osfield
f8340f9ef5 Removed the cached matrices from osg::Camera, so that
osg::Camrea::getModelViewMatrix() and osg::Camera::getProjectionMatrix() are
calculated on the fly.  Removed various redudent methods, including the
project and unproject methods which are better supported within osgUtil::SceneView.

Added a computeWindowMatrix() method to Viewport, to make it easier to construct
a MV*P*W matrix for converting local coords into screen coords and visa versa.
Converted SceneView and CullVisitor to use this new method.
2002-04-16 11:41:32 +00:00
Robert Osfield
9fd7c528f4 Compile fixes for IRIX, submitted by Randall Hopper. 2002-04-15 21:48:43 +00:00
Robert Osfield
5a0f8118b7 Added support for OSG_USE_MEMORY_MANAGER into Windows build. 2002-04-15 21:03:32 +00:00
Robert Osfield
bbef7164db Added CullCallbacks to osg::Node, and osgUtil::CullVisitor. 2002-04-15 13:15:48 +00:00
Robert Osfield
c43607c14d Added support for specificing the eye mapping and seperation between the
horizontal and veritical split stereo modes.

Renamed osg::Image::ensureDimensionArePowerOfTwo() to osg::Image::ensureValidSizeForTexturing().
2002-04-14 22:21:59 +00:00
Robert Osfield
09d41789da Fixes to osg::Image::createImage(..), and addition of code to Viewer.cpp to support
output of screen snapshot via 'O'.
2002-04-14 13:41:13 +00:00
Robert Osfield
8a5c6d5102 Clean up for VisualStudio build 2002-04-13 22:19:29 +00:00
Robert Osfield
9b2fe06896 Fixed compile problem related to missing includes (a result of removing include of Camera..) 2002-04-13 11:08:04 +00:00
Robert Osfield
3f67300c82 Saved workspace from VisualStudio to follow up on missing demo dependancies 2002-04-13 10:18:58 +00:00
Robert Osfield
341ffb2361 Further work on cleaning up SceneView and Camera, in particular moving strereo
support out of Camera and into SceneView. Also enabled the option to set the
projection and modelview matrices directly on SceneView thereby removing the
dependance on osg::Camrea to control the view of the scene.
2002-04-12 18:06:13 +00:00
Robert Osfield
a44efe01bb Fixes for Win32 build 2002-04-12 09:53:39 +00:00
Robert Osfield
6ed233d0d2 Added DataVariance enum and set/get fields to osg::Object to help identify
which objects have values that vary over the lifetime of the object (DYNAMIC)
and ones that do not vary (STATIC).  Removed the equivalent code in
osg::Transform, StateSet and StateAttribute, as these are now encompassed
by the new DataVariance field.

Removed MatrixMode enum from Matrix, and associated fields/parameters from
osg::Transfrom and osg::NodeVisitor, since MatrixMode was not providing
any useful functionality, but made the interface more complex (MatrixMode
was an experimental API)

Added ReferenceFrame field to osg::Transform which allows users to specify
transforms that are relative to their parents (the default, and previous behavior)
or absolute reference frame, which can be used for HUD's, camera relative
light sources etc etc.  Note, the view frustum culling for absolute Transform
are disabled, and all their parents up to the root are also automatically
have view frustum culling disabled.  However, once passed an absolute Transform
node culling will return to its default state of on, so you can still cull
underneath an absolute transform, its only the culling above which is disabled.
2002-04-11 23:20:23 +00:00
Robert Osfield
e85e5a6ce6 Added several new methods to osg::Image to help keep track of memory and added
osg::Image::readPixels to encapsulate glReadPixels.

Reordering of includes in include/osg/Fog and include/osg/Light to remove silly warnings under Visual Studio.
2002-04-11 17:15:07 +00:00
Robert Osfield
e037c79917 Fixed refrences to NewCullVisitor which has now been mapped onto CullVisitor. 2002-04-11 08:24:55 +00:00
Robert Osfield
f2ffbdd469 Copied NewCullVisitor over top of CullVisitor and then removed NewCullVisitor.
Added some defines to Image in prep for writing code to determine how big a
pixel is.
2002-04-10 22:10:07 +00:00
Robert Osfield
360247225e Added new osg::DrawPixels class with encapsulates glDrawPixels as and
osg::Drawable.  Added osg::Image::readPixels to osg::Image.

Made osg::LightSource to default to cullActive set to false to that LightSource
nodes don't get culled by default.
2002-04-10 21:51:34 +00:00
Robert Osfield
1369987cdd Added setProjectionMatrix and setModelViewMatrix() methods to osg::SceneView,
and associated member variables.  I have not linked them up to the
cull traversal yet, but this will be the next task.
2002-04-09 21:46:34 +00:00
Robert Osfield
6f65e86057 Further work on removing Camera references from NewCullVisitor and releted
classes, this work paves the way for making osg::Camera an optional
extra rather than a requirement for rendering.
2002-04-09 16:09:19 +00:00
Robert Osfield
3351306d80 Added new osg::Projection node, and osgUtil::NewCullVisitor which are work
in progress for the new support for controlling the projection matrix from
within the scene graph.

Also Added osg::State::getClippingVolume(), getProjectionMatrix() and
getModelViewMatrix() with allows drawables to access the current projection,
and model view matrices and the view frustum in local coords to the drawable.
2002-03-31 16:40:44 +00:00
Robert Osfield
56cee8c711 Move the applying of Projection and ModelView matrices into osg::State so that
it now maintains references to the last applied matrices, automatically doing
lazy state updating.  This simplifies the various places in the OSG which
were previously doing the applying, add paves the way for managing the
projection matrix within the scene graph.

Remove MemoryAdapter and mem_ptr as they arn't being used, and can potentially
confuse users by their existance.
2002-03-29 17:26:40 +00:00
Robert Osfield
07f9421f39 Converted from dos file endings to unix. 2002-03-29 12:23:54 +00:00
Robert Osfield
d421e35c8d A compile fix to the new Texture subload changes. 2002-03-27 23:04:52 +00:00
Robert Osfield
33c89c3be0 Added support for setting the texture subload width and height within
osg::Texture.  The values default to 0, and in this state they are
sizes of the glTexSubImage2D are taken from the source image size.  This
allows the previous setup with no settings for subload size to work as
before.
2002-03-27 22:51:58 +00:00
Robert Osfield
7e2c82f141 Futher updates to MemoryManager, fixed memory leak in osgconv. 2002-03-27 16:31:25 +00:00
Robert Osfield
84d2d01163 Added support for osg::MemoryManager which is based upon Paul Nettle's
memory manager published at flipcode.com.  This can be turned on
with the OSG_USE_MEMORY_MANGER option which then uses custom global
new and delete operators as well as provide osgNew and osgDelete macro's
which add ability to log line and file from which calls are made.

Updated osg,osgUtil,osgDB,osgText and osgPlugins/osg to use osgNew/osgDelete,
and fixed memory leaks highlighted by the new memory manager.
2002-03-26 23:52:52 +00:00
Robert Osfield
651a22453a Added osg::MemoryManger which is currently based on Paul Nettle's memory manager
published at flipcode.  I havn't adopted Paul's macro's for new/delete etc, but use
osg prefixed versions instead to allow greater flexiblity in handling include
ordering.

Have fixed a couple of new/delete[] problems which existed as a result.

To use the MemoryManager to track memory usage simply add
-DOSG_USE_MEMEORY_TRACKING to the compile line.

Have yet to move the osg from using new to osgNew, will do this next.
2002-03-25 23:18:02 +00:00
Robert Osfield
06fcd12598 Fixes for MacOSX build. 2002-03-25 19:04:30 +00:00
Robert Osfield
f50c5f7a5e Moved the exit on escape into Window, and added a virtual free method on both
Window an Viewer to clean up the windows, this is now called before exit is
finally called, ensure that more more memroy is clean up prior to exit.
2002-03-23 21:28:25 +00:00
Robert Osfield
33b0ceac0d Added GL_TEXTURE_3D definition for those with gl.h headers which don't
contain it.
2002-03-23 10:55:29 +00:00
Robert Osfield
03cda7d3f8 Renamed have_applied_mode, have_applied_attribute, apply_mode, apply_attribute
to haveAppliedMode, haveAppliedAttribute, applyMode, applyAttribute to make
it more consistent with the general OSG name convetion.
2002-03-21 12:36:05 +00:00
Robert Osfield
a364875afb Added osg:State:have_applied_mode(mode) and have_applied_attribute(type) to make it
easier to specify which modes and attributes have been modified without
the user requiring to know to what value, or to have an equivilant attribute
to pass to the have_applied_attribute method.  The original have_applied(mode)
and have_applied(attribute) methods have been renamed have_applied_mode(),
have_applied_attribute() as this was required to prevent the mode and type
values colliding during compile (it was causing a compile error when the method
names were the same.)
2002-03-21 12:00:10 +00:00
Robert Osfield
9836af1055 Added osg::TextureCubeMap which encapsulates OpenGL's cube texture mapping. 2002-03-20 22:39:51 +00:00
Robert Osfield
8656adb463 Added a Referenced::unref_nodelete() method which unreferences but does
not delete the object even if its count goes to 0 or below.  This should
only be called in special circumstances, the ReaderWriter::ReadResult
being one of them. This new method has allowed the problem of objects
being multiple referenced on return from readNodeFile() & readImageFile().
2002-03-20 14:03:30 +00:00
Robert Osfield
0b27e5c381 Updates to Texture and TextureCubeMap to clean up the code so they share
much more of the core texture setup code. This largely invloved paramterizing
the applyImmediateMode, which has also been rename applyTexImage to reflect
its functionality better.
2002-03-20 11:24:47 +00:00
Robert Osfield
8f02db61e5 Added osg::TextureCubeMap. submission from Brede Johansen. 2002-03-18 23:10:33 +00:00
Don BURNS
eb0587b5fb Changes required for SUN Solaris port... 2002-03-18 21:56:00 +00:00
Robert Osfield
c49c62ee15 Integrated various changes worked on at the Glasgow Science Center. Changes
include change the CameraManipulators so they work with double for time
instead of float.  Also added support for DataType to osg::StateAttribute
and StateSet so that they can be set to either STATIC or DYNAMIC, this
allows the optimizer to know whether that an attribute can be optimized
or not.
2002-03-14 17:34:08 +00:00
Robert Osfield
e80496d5db Changed Texture so that is use lazy updating on texture paramters (Filter/Wrap)
mode by using a _texParamtersDirty flag in combination with an
applyTexParamters(State&) method which does the paramters setting in one
tidy bundle.  This new implementations replaces the CompileFlags submitted
yesterday.

Simplified NodeCallback by remove osg::NodeCallback::Requirements as they
are no longer needed.

Fixed comments in Drawable.

Put guards around cosf definations so that they are only used under Win32/Mac.

Fixed warning in CullVisitor.
2002-03-14 16:01:21 +00:00
Don BURNS
fea861e013 Fixed compile flags in Texture 2002-03-14 00:07:29 +00:00
Don BURNS
d0ee300405 Fixed DrawCallback in Drawable and added CullCallback to Drawable
Cull Visitor now checks for a Drawable's CullCallback and calls it
if it exists.  It then prunes based on the return value (bool) of the
cull callback.
2002-03-13 22:44:22 +00:00
Robert Osfield
a6aa57a255 Added support for seperate traversal masks for standard, left and right
cull traversals.  This allows one to create seperate rendering for left
and right eyes when doing stereo.
2002-03-03 22:31:46 +00:00
Robert Osfield
0439b72da7 Updates to the clamp to border support in osg::Texture. 2002-03-01 09:27:10 +00:00
Robert Osfield
2973ca0a25 Added support for setting the maximum number of graphics contexts that the
OSG has to maintian.
2002-02-28 00:11:31 +00:00
Robert Osfield
3444c95261 Integrated support for GL_CLAMP_TO_BORDER_ARB extension to osg::Texture,
submitted by Sasa Bistrovic.
2002-02-27 22:00:47 +00:00
Robert Osfield
1bdebcf174 Added new osg::AnimationPath which is contaner for a set of key frames for
defining an animation path.  To be used with osg::Transform etc.
2002-02-27 00:58:54 +00:00