Commit Graph

538 Commits

Author SHA1 Message Date
Robert Osfield
f5f20e4ac1 Fix from Don Tidrow for bug when moving between RenderGraph when popping back
up to common parents.
2002-10-23 07:46:11 +00:00
Robert Osfield
054fd3877c Fixed spelling mistake in comment. 2002-10-21 13:03:02 +00:00
Robert Osfield
ac0de068d9 Changed the private: to protected: to allow easier extension. 2002-10-21 13:02:30 +00:00
Robert Osfield
e1b084749e Renamed the RenderBin::sort_local to sortImplementation(),
draw_local to drawImplementation() and added a new RenderBin::DrawCallback().

Added osgcubemap to the Make/ test scripts.
2002-10-17 13:48:46 +00:00
Robert Osfield
f284f158f3 Fixed error in #ifdef GL_SECONDARY_COLOR...
CV: ----------------------------------------------------------------------
2002-10-17 10:04:11 +00:00
Robert Osfield
bfd614f907 Fixed the names of the ControlPoint parameters so they weren't capitals, to avoid
the clash with the parameter type itself.

Addd a PER_PRIMTIIVE_SET handling to the existing PER_PRIMTIIVE code, this code
is still flacky though and needs a rewrite as it doens't handle all attributes or
the full consequences of per primitive and per primitive set bindings.
2002-10-10 14:58:44 +00:00
Robert Osfield
6ba195efea Added a little more info into the State contextID docs. 2002-10-10 13:06:24 +00:00
Robert Osfield
50652f389b Added Macro's new cube map generation classes and osgcubemap demo. 2002-10-10 12:44:38 +00:00
Robert Osfield
16291da3b0 Fixes to smoothing visitor and tesselator to handle indexed Geometry. 2002-10-09 15:43:56 +00:00
Robert Osfield
c59fc9a2b7 Fixed a bug in the Optimizer where BIND_PER_PRIMITIVE_SET primitives where being eroneously merged.
Added missing support for reading geometry indices from the .osg format.

Added handling of geometry indices into the primitive functor in osg::Geometry.

Moved the method implementions of AnimationPathManipulator into src/osgGA and added extra convinience
methods for setting the manipulator with an hand built AnimationPath.

FCVS: 	VisualStudio/osgPlugins/iv/iv.dsp
2002-10-08 14:10:55 +00:00
Don BURNS
588bc1da3c Solaris didn't like filebuf. Using old FILE 2002-10-08 08:36:48 +00:00
Don BURNS
16e3a3c182 Added AnimationPathManipulator to osgGA and modified sgv to use it. 2002-10-08 07:39:38 +00:00
Don BURNS
ab580f1e3b Fixed some inconsistencies between header files and function definitions
where the header file declared a parameter non-const, but the function
definition expected a const.  The Solaris linker was coming up with
undefined symbols.
2002-10-08 05:41:19 +00:00
Robert Osfield
04a9a09a8b Added extra convinience methods to LOD - addChild(child,min,max).
Added osganimate to test scripts.
2002-10-07 21:23:37 +00:00
Robert Osfield
41768f6824 Fixes to Switch so that it defaults to adding children switched on, and adds
a flag to control whether children and added as true or false.
2002-10-07 20:17:57 +00:00
Robert Osfield
525fc2f746 Set the default values for scale to 1,1,1. This fixes the bug obsevered when
using AnimationPath with MatrixTransform without setting the scale value of
the osg::AnimationPath::ControlPoint's.
2002-10-07 20:01:28 +00:00
Robert Osfield
b7372fb4cb Added new osganimate demo which demonstrate the osg::AnimationPath in action.
Added extra parameters to the AnimationPath callbacks to allow finer control.
2002-10-07 19:51:11 +00:00
Robert Osfield
478f736f63 Added missing osg::TextureCubeMap::getAssociatedMode(). 2002-10-07 11:06:37 +00:00
Robert Osfield
65934ef824 From Daneil Sjölie - modifications to the support of custom GUIEventHandlers in osgGLUT 2002-10-07 09:41:30 +00:00
Robert Osfield
70861ef70e Converted osg::LOD from used n+1 successive ranges to n min/max ranges,
one min/max pair per child. Converted the rest of the OSG to use the new
osg::LOD node.
2002-10-06 20:33:13 +00:00
Robert Osfield
4a3cc5c182 Implemented OpenFlight style switches so that each child of a switch can now
be individually turned on or off.  Moved the OpenFlight code across to use the
new scheme, removing the old hack of using node masks to achieve the same end
result.
2002-10-04 14:50:33 +00:00
Robert Osfield
14e9be42c2 Changed the include of MatrixTransform to Transform. 2002-10-04 13:53:41 +00:00
Robert Osfield
06022febff Added back in the old osg::Geometry::addPrimitive(..) methods for backwards
compatibility and have placed them within a #ifdef USE_DEPREACATED_API block.
2002-10-02 13:16:39 +00:00
Robert Osfield
0a5ed26940 Moved the new osg::IndexedGeometry class over the top of the the existing
osg::Geometry class, and removed the temporary IndexedGeometry.  Port the rest
of the OSG across to account for the change in method calls -
osg::Geometry::addPrimitive(..) becomes osg::addPrimitiveSet(..)
2002-10-02 13:12:16 +00:00
Robert Osfield
29e998c1f8 Removed inappropriate inline keyword from getOrCreateStateSet(). 2002-09-30 18:12:54 +00:00
Robert Osfield
5fd86440b3 Added support for per primitive bindings in osg::IndexedGeometry. Added a
convertToIndexedGeometry() method to GeoSet to allow datasets with per primitive
bindings to be be mapped to across to osg::IndexedGeometry for testing purposes.
2002-09-30 13:30:46 +00:00
Robert Osfield
b57b0b16b9 Fixes for Win32 build. 2002-09-28 07:43:04 +00:00
Robert Osfield
df027e1bab Fixes to IndexGeometry for Win32 build. 2002-09-27 19:01:59 +00:00
Robert Osfield
f8edf16c40 Improvements to IndexedGeometry. 2002-09-27 17:47:47 +00:00
Robert Osfield
2a28a4297f Futher work on the IndexedGeometry class. Indexed coordinates should now
work.
2002-09-26 15:26:22 +00:00
Robert Osfield
fb629ae87d From Gideon, support for tracking the number of objects constructed and deleted,
only compiled in when unit tests are compiled in.
2002-09-20 15:55:50 +00:00
Robert Osfield
55215651d7 Renamed osg::Primitive to osg::PrimitiveSet which better reflect what it
encapsulates.

Added new osg::IndexGeometry implemention, *not* complete yet.

Changed the rest of the OSG to handle the renaming og Primitive to PrimitiveSet.
2002-09-20 14:51:59 +00:00
Robert Osfield
fd3bef5158 From Daniel, changed setEventHandler to addEventHandler. 2002-09-20 14:48:41 +00:00
Robert Osfield
ce51fb1841 Added PolygonStipple class from Mike, with mods from Robert to make data
management local.
2002-09-19 10:30:15 +00:00
Robert Osfield
68384e984b Made the calls to the drawing of the pre rendering stages exclit, using
a seperate method in RenderStage and associated calls in sceneView.cpp.
This fixes problems when doing stereo and prerender at the same time.
2002-09-19 09:52:50 +00:00
Robert Osfield
f11410928f Simplified the depth calculation code in CullVisitor so that it always computes
the depth of all drawables, so that it is always safe for RenderBin sort routines can use
these values directly.

Add an example of a RenderBin::SortCallback to sgv.cpp.
2002-09-18 14:57:01 +00:00
Robert Osfield
ed43d97ed3 Improved the sort callback support in osgUtil::RenderBin, and removed the
now rendundent DepthSortedBin class.
2002-09-17 15:47:23 +00:00
Robert Osfield
91df37b5c8 Further work on multiple context extensions. 2002-09-16 20:58:05 +00:00
Robert Osfield
ce36cda0cc Updates the osg::Texture3D::Extensions interface to support the standardisation
of extensions supported across multiple graphics contexts.
2002-09-14 10:38:28 +00:00
Robert Osfield
6d21fbd6cf Added dirty methods for vertex arrays to better support external OpenGL
code which modifies the OpenGL state and needs to tell the osg::State
about it to ensure that the OSG doesn't make any errors during lazy
state updating.
2002-09-13 13:50:58 +00:00
Robert Osfield
ee93b70033 From Pavel Moloshtan, fixes for Mingw32 build. 2002-09-12 20:30:41 +00:00
Robert Osfield
f867dd81be Added asGroup() and asTransform() methods to osg::Node to downcast nodes
to these types without requiring an expensive dynamic_cast<>.

Also added asGeometry() to osg::Drawable for the same reasons.
2002-09-12 15:34:31 +00:00
Don BURNS
b5870857c4 Fixed setFusionDistance 2002-09-12 14:29:59 +00:00
Robert Osfield
5733cc1470 From Brede Johansen - Fixes to osg::Plane::valid and added a new set method.
From Stephan Huber - Compilation fix to Texture.cpp for OSX.

From Don Tidrow - added dirtyBound() to osgText::Text::setPosition
2002-09-12 13:23:15 +00:00
Robert Osfield
e2603ff6c4 Improvements to osg::Texture3D::Extensions code. 2002-09-05 15:45:10 +00:00
Robert Osfield
bb0022175b Added new buffered_value template class which encapsulates a std::vector but
initializes the array to the number of graphics contexts, and automatically
expands the array when indices outside the current size are required.

Added new osg::Texture::Extensions nested class to handle extensions on a per
context basis.
2002-09-05 11:42:55 +00:00
Robert Osfield
f574d0dd68 Added support for setting the fusion distance directly in SceneView, defaults
to the original behavior of using the values from the Camera if attached.
2002-09-04 10:49:17 +00:00
Robert Osfield
6ff24b338f Added support for multiple graphics contexts to osg::Texture and its
subclasses.
2002-09-04 08:14:04 +00:00
Robert Osfield
1ad924d0ca Fixes to the LWO to better handle 3 and 4 vertex polygons.
Added an extra pass into the Optimizer's merging of geometry primitives so
it convertex 3 and 4 vertex polygons into triangles and quads respectively.
2002-09-03 20:12:29 +00:00
Robert Osfield
12226e4371 Converted the instances of const built in types being returned from methods
and passed as paramters into straight forward non const built in types,
i.e. const bool foogbar(const int) becomes bool foobar(int).
2002-09-02 12:31:35 +00:00
Robert Osfield
c6965357e6 Renamed osg::Statistics::addOpaque to addDrawable to better reflect its current
function.
2002-08-30 19:45:56 +00:00
Robert Osfield
cf9e9e2b5b Fixes to Math for MacOSX build.
Converted TextureCubeMap to unix file endings.
2002-08-30 15:32:59 +00:00
Robert Osfield
b1f69a9b11 Fixed the flatten static transform visitor. 2002-08-30 15:07:10 +00:00
Robert Osfield
8a061e80e1 Added std:: infront of ends references. 2002-08-30 13:38:22 +00:00
Robert Osfield
fc5f07acaa Fixed the numerical accuracy problems in the Drive and Flight Manipulators. 2002-08-29 20:41:19 +00:00
Robert Osfield
44beefa9a5 Fixed numerical accuracy problem in Trackball manipulator. 2002-08-29 16:38:51 +00:00
Robert Osfield
6c08183b45 Updated docs. 2002-08-29 14:29:49 +00:00
Robert Osfield
79aaac4e0c Renamed the ConvexPlaner* classes to ConvexPlanar* and changed all the various
classes that reference it.

Added MUST_READ_ME.txt to the VisualStudio directory.
2002-08-29 11:02:01 +00:00
Robert Osfield
4e45c82067 Added SG_EXPORT. 2002-08-29 08:39:04 +00:00
Don BURNS
2b10b4c3df Fixed 69 occurance of 'Seperate' misspelling (should be 'Separate') 2002-08-29 03:22:27 +00:00
Robert Osfield
b546c63139 Changed instances of new across to use osgNew to help debugging, and fixed
an unitialized variable in Sequence.
2002-08-28 21:40:38 +00:00
Robert Osfield
fe93b91f73 Fixes to Win32 build. 2002-08-28 18:38:33 +00:00
Robert Osfield
ebb8a635d2 Fixes for Win32 build. 2002-08-28 16:59:22 +00:00
Robert Osfield
e50552d6d2 Added fixes to UnitTestFramework to get it compiling under Windows. 2002-08-28 16:17:54 +00:00
Robert Osfield
8353fc0ed6 Removed deprecated code from the distribution.
Added .osg support for Texture1D and Texture3D.
2002-08-28 15:28:11 +00:00
Robert Osfield
03ee77a315 Updates, from Neil Salter, to comments etc to osgGA which add better
explanations of how each of the classes operates.
2002-08-28 14:27:18 +00:00
Robert Osfield
7d6197441e Added Neil Salter's osgUtx library into the distribution, have put all the
orignal seperate headers and source into include/osg/UnitTestFrameWork
and src/osg/UnitTestFramework.cpp respectively.  I have done this to
keep the include and source directories focused on the scene graph rather
than the test framework.

Have added a very simple unit test to Vec3.cpp, which are optionally
compiled in with the OSG_COMPILE_UNIT_TESTS define, which is only
currently defined in debug builds under unix.  It should be fine to
add it in under Windows project files as well.

Finally, a new demo app osgunittests runs the tests and reports success
or failure of the tests.
2002-08-28 14:26:09 +00:00
Robert Osfield
bff4728eac Commented out the #define TEXTURE_USE_DEPRECATED_API from includ/osg/Texture
which forces the use of a typedef Texture2D Texture; in place of the orignal
texure implementation.
2002-08-27 21:01:22 +00:00
Robert Osfield
55d4affded Added support for DOFTransforms into .osg format, and add pivot point support
to the PositionAttitudeTransform .osg support.

Removed a double light reference in the osglight demo.
2002-08-27 20:18:43 +00:00
Robert Osfield
103727f412 From Marco, fix to include/GL to clean up warnigns in Windows builds. 2002-08-27 14:00:04 +00:00
Robert Osfield
83af5e7a95 Added osgtexture3D demo, renamed osgtexture demo to osgtexture2D, and have
added osgtexture1D demo which currently is simply copy of osgtexture2D. I
will be modifying it to do 1D texturing next.

Fixed a bug in osg::Texture3D relating to checking of existance of
texturing.

Merged some fixes to the pfb loader from Ulrich Hertlein.
2002-08-27 10:06:57 +00:00
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