Commit Graph

875 Commits

Author SHA1 Message Date
Robert Osfield
dc83e399a9 Improvements to osgProducer lib, in particular adding a mutex lock to the init() call in
SceneView to prevent init running multi-threaded.
2003-01-20 20:33:50 +00:00
Robert Osfield
4de63e72c6 Improvements to the handling of multiple graphics contexts. Still needs alot
of work, but at least it isn't crashes in trivial cases right now.
2003-01-20 20:28:28 +00:00
Robert Osfield
e56872aa1f Added the new standard copyright notice. 2003-01-20 12:41:15 +00:00
Robert Osfield
08456ecf70 Added osg::State::dirtyAllModes() and dirtyAllAttributes() methods. 2003-01-19 15:28:08 +00:00
Robert Osfield
762db56a40 Improvements to the osgProducer lib to better handle Producer's normalized
coord system.

Addition of ReadCameraConfigFile and WriteCameraConfigFile as a tempory
measure for implementing local a C++ read/write of the Producer::CameraConfig, this
will be removed once these implementations or similar have been moved to Producer.
2003-01-18 22:07:59 +00:00
Robert Osfield
13aa469628 Updated the KeyboardMouseCallback so this it takes into account the the new
passiveMouseMotion support in Producer.
2003-01-18 10:17:28 +00:00
Robert Osfield
619862f8d6 Added osgProducer library to the distribution.
Cleaned up the osgproducer demo, and made it work with the new osgProducer lib.
2003-01-17 18:34:35 +00:00
Robert Osfield
a86d519a89 Fixed a bug on the handling of empty EncodedText. 2003-01-17 15:01:27 +00:00
Robert Osfield
c2c38955c6 Added new getCurrentCamaeraManipulator(), and removed and debugging message. 2003-01-17 14:12:25 +00:00
Robert Osfield
c406d2476f Removed the osg::Referenced::createCount() and deleteCount() methods and
associated variables which were only compiled in on debug build.  These optional
methods/static vars were causingproblems when mixing debug and release builds.
2003-01-17 14:11:34 +00:00
Robert Osfield
1c602035ef Added DOUBLECLICK EventType to GUIEventAdapter. 2003-01-16 19:27:30 +00:00
Robert Osfield
4dd273de70 Added support for ReferenceFrame into osg::LightSource, modified the .osg
plugin and cull visitor to account for this change.
2003-01-16 16:37:24 +00:00
Robert Osfield
e0074d7c44 Made the osgDB::ParamterOutput class so that it is purely defined in terms
of the header, and therefore not requiring to be exported.

Updated the MUSE_READ_ME.txt to include mention of syntax highlighting.
2003-01-15 20:50:12 +00:00
Robert Osfield
d542a2165d Removed the template versions of the PrimitiveSet constructors as this was
causing problem under VisualStudio6.0.
2003-01-15 11:29:30 +00:00
Robert Osfield
af6a6ff9f0 Fixes for Win32 build. 2003-01-14 16:39:41 +00:00
Robert Osfield
59969be08d From Daniel Sjölie, updates to the GUIEventAdapter and GLUTEventAdapter to handle
key and key down, modifiers and funcion keys.
2003-01-14 14:25:56 +00:00
Robert Osfield
c882283b5d Typo fix if USE_HOME_POSITION. 2003-01-13 20:14:23 +00:00
Robert Osfield
c3a7ce7352 Fixes to osgText to handle std::string correctly. 2003-01-13 14:05:08 +00:00
Robert Osfield
ef7d7fce2e Moved some in inline methods in ParamterOutput into the new ParamterOutput.cpp
file to clean up the interface.
2003-01-11 12:50:39 +00:00
Robert Osfield
f36bc69c58 Made the more of the OSG's referenced object desctructors protected to ensure
that they arn't created on the stack inappropriately.

Split the implemention of Matrix up so that it is a simple no referenced counted
class and can be safefly created on the stack.  To support referenced counting a
seperate subclass now exists, this is RefMatrix which inherits from both Matrix and
Object.
2003-01-10 09:25:42 +00:00
Robert Osfield
c5d3c860d8 From Tree, support for encoded text added into osgText. 2003-01-08 15:22:17 +00:00
Robert Osfield
ba34880464 Added support for reading and writing Sphere, Box, Cone, Cylinder and Grid shapes. 2003-01-08 14:32:13 +00:00
Robert Osfield
e6b64a5550 Added support for sharing arrays in the .osg format for osg::Geometry.
Fixed the osgUtil::Optimizater so it takes into account sharing of arrays when
deciding whether an geometry can be merged or not.
2003-01-07 16:29:07 +00:00
Robert Osfield
0161dacc15 Removed the osg::LightPoint::OPAQUE option, and implemented the ADDTIVE blending option. 2003-01-06 16:42:02 +00:00
Robert Osfield
5c37fd7fb4 Fixed headers guard typo in LightPoint.
Updated the NEW files.
2003-01-06 13:45:55 +00:00
Robert Osfield
3ef3666d0f Added new ARB vertex program state attribute and demo program,
sent in my Brede Johansen.
2003-01-04 20:45:53 +00:00
Robert Osfield
141f065b17 Removed the dual inheritance from the AnimationPathCallback, moving the
NodeVisitor implemention into the .cpp.

Small tweak to the lighpoint drawable implmenentation to improve the additive
blending and state resotoration.
2003-01-03 21:42:02 +00:00
Robert Osfield
fe64942c54 Added a AnimationPathCallback which can update both a MatrixTransform and a
PositionAttitudeTransform, removed the equivialnt callbacks once found in these
transform classes.

Changed the NodeCallback class so its derived from osg::Object instead of
osg::Referenced to allow it to be saved out in the .osg format.

Added support for Update and Cull callbacks into the .osg file format.

Added support for AnimationPathCallback into the .osg file format.
2003-01-02 20:10:04 +00:00
Don BURNS
f501aa913b Update for ia64 2002-12-19 19:50:45 +00:00
Robert Osfield
adf5c91808 Renamed all instance of AppCallback/AppVisitor to UpdateCallback/UpdateVisitor
inline with the decision to rename the "app phase" the "update phase".
2002-12-19 15:55:40 +00:00
Robert Osfield
c82927293e Moved the include/osgTXP back into src/osgPlugins/txp as a seperate include directory is no longer required.
Removed the osgtxp demo as it is no longer required.
2002-12-17 16:07:59 +00:00
Robert Osfield
ee3348afc9 Added txp::TerrapageNode to the txp plugin, and implemented the node so that it
automatically assign handles the updates of eye points and database merges.
2002-12-17 15:41:05 +00:00
Robert Osfield
64341828b8 Added a few more comments on the DeleteHandler.
Changed the friend struct DeleteHandler to friend class DeleteHandler.
2002-12-16 21:39:26 +00:00
Don BURNS
bbab5af6eb Fixed a scope issue for 3.2 compiler for friend declarattion, l ine 39 in
include/osg/Referenced
2002-12-16 19:39:08 +00:00
Robert Osfield
8f81cf2ac6 Moved TriangleFunctor from Drawable into its own header file. 2002-12-16 17:00:05 +00:00
Robert Osfield
7bcef50e3b Removed reference to osg/MemoryManager. 2002-12-16 14:12:48 +00:00
Robert Osfield
89269463ef Removed the memory manager. 2002-12-16 13:44:35 +00:00
Robert Osfield
00cc3a1833 Converted the instance of osgNew and osgDelete back to new and delete as part
of depecating the include/osg/MemoryManager
2002-12-16 13:40:58 +00:00
Robert Osfield
884b2730e8 Added a DeleteHandler into osg::Referenced so that it can delete objects
via a seperate delete handler.  Useful for making unref()/ref() thread safe if
the users needs to address this issue.
2002-12-16 10:25:31 +00:00
Robert Osfield
c6b6e200a4 Added supported for setting animation path on MatrixTransform's. 2002-12-16 09:55:30 +00:00
Robert Osfield
db7cc1c559 Disabled the MemoryManager in all builds since it isn't yet thread safe. 2002-12-14 07:55:29 +00:00
Don BURNS
63c0a33926 Moved TrpageViewer.h to Demos/src/osgtxp 2002-12-13 20:29:26 +00:00
Robert Osfield
97a4775b7e Updates to the light points support to improve the control of the blending of
light points with their background.
2002-12-10 19:56:14 +00:00
Robert Osfield
8d0718e8da Added setting of the current texture unit into the applyTextureAttribute() method. 2002-12-09 21:03:02 +00:00
Robert Osfield
109f6f22fe Updated the Switch, Sequence and Group classes so that they all used a
similar style removeChild() mechansim.

Made the old style osg::Switch::setValue() method deprecated.
2002-12-07 21:18:12 +00:00
Don BURNS
b63827c5d9 Cleanin' up after Robert's spelling ...er ... challenges. 2002-12-07 06:59:08 +00:00
Robert Osfield
baa7c11eb9 From Tree, added support for accept(PrimitiveFunctor) into osg::Text. Currently
implemention is overly simple, but will do until rewrite.
2002-12-06 19:03:34 +00:00
Robert Osfield
1be82ec697 From Tree, mods to help support the creation of Java bindings. 2002-12-06 09:44:11 +00:00
Robert Osfield
b0c4256e90 Norman Vine's changes for gcc 3.2 under Cygwin, moving of SG_EXPORT to after
the extern declaration.
2002-12-05 12:43:08 +00:00
Robert Osfield
d7692f83d7 Added support for setting the axis which the text should be aligned along. 2002-12-05 12:01:38 +00:00
Robert Osfield
a4404a388d Fixes for Cywin gcc3.x build in GL and Math headers.
Fix for VS build in osgshadowtexture.
2002-12-04 17:34:52 +00:00
Robert Osfield
f6934e25ab Made the callback class uses virtual inheritance of osg::Referenced to ensure
that a single class can be used for two different types of callbacks whithout
incurring issues of multiple ref counts and ref()/unref() methods existing.
2002-12-03 17:20:31 +00:00
Don BURNS
bf0cbf6b10 Modified Files:
include/osgTXP/trPagePageManager.h src/Demos/osgtxp/osgtxp.cpp
 Added Files:
    VisualStudio/Demos/osgtxp/osgtxp.dsp
2002-11-29 22:10:12 +00:00
Robert Osfield
26ba223880 Added isImageTransulacent() method. 2002-11-25 16:38:33 +00:00
Don BURNS
12e922bc3c Added Paging TerraPage loader and osgTXP library. 2002-11-24 21:36:05 +00:00
Robert Osfield
bcf9d08c2b Adjusted tabbing. 2002-11-22 08:23:54 +00:00
Robert Osfield
a545f3b48c Moved the shadow creation code into a seperate CreateShadowedScene header and source,
and exposed just the basic createShadowedScene function in the header.
2002-11-21 15:35:51 +00:00
Robert Osfield
5ddcd5d878 Added osg::Geometry::setPrimtiveSet,removePrimtiiveSet, insertPrimitiveSet
and getPrimitiveSetIndex().

Renamed osg::Group::findChildNum(..) to getChildIndex().

Renamed osg::Geode::findDrawableNum(..) to getDrawableIndex().
2002-11-21 09:07:11 +00:00
Robert Osfield
2b957675d5 Added visual workspace files for osgSim nodekit and osglightpoint demo. 2002-11-19 12:23:45 +00:00
Robert Osfield
e02ae73edc Added osgSim library which encapulsulates light points.
Added osglightpoint demo.
2002-11-19 10:57:40 +00:00
Robert Osfield
5fca8ea229 Moved Drawable across to using osg::buffered_value.
Added new osg::State::setInterleavedArray() method.

Added new osg::Group::setNode(uint,Node*) method.

Cleaned up and fixed the osg::Texture's handling of dirtyTextureParamters().
2002-11-19 10:56:59 +00:00
Robert Osfield
42fb3c5987 Added setDrawable(uint,Drawable*) method. 2002-11-18 16:14:00 +00:00
Robert Osfield
bd7762a73e Added State::computeSecondaryColorSupported() & computeFogCoordSupported().
Updated NEWS.
2002-11-13 11:09:55 +00:00
Robert Osfield
8e84722f90 Added LEFT_EYE and RIGHT_EYE stereo to osg::DisplaySettings/osgUtil::SceneView
Renamed LODBias to LODScale.
2002-11-12 10:22:38 +00:00
Robert Osfield
35b9317baf Fixes to typo of *Dirty() 2002-11-11 16:11:48 +00:00
Robert Osfield
6f3e2b681c Fixed bug in osg::Node::isCullingActive().
Rnabled the automatic selection of the animation path if one is specified
on the commandline in sgv.
2002-11-11 08:52:24 +00:00
Robert Osfield
661240d1ca Fixes to const paramter types. 2002-11-11 08:04:40 +00:00
Robert Osfield
feeadcdec0 Removed deprecated API 2002-11-08 14:03:44 +00:00
Robert Osfield
aca6c3c4f9 Added #define DARWIN_OSX_PRE_10_2 and related #ifdef checks to cope with backwards compatiblity
with versions of OSX before 10.2.
2002-11-08 12:26:41 +00:00
Robert Osfield
9816a51bc7 Added GL_LIBS to the osgText/Makefile for OSX build.
Fixed typo in IntersectVisitor.

Fixed warnings in osgimpsotor demo.
2002-11-08 11:00:16 +00:00
Robert Osfield
5db3229b5f Updates to Math for OSX build.
Added 3dmodelworld.com to the data source directory.

Fixed compile problem under VC6.0 in osgimpostor.
2002-11-08 10:25:08 +00:00
Robert Osfield
b6988affe6 Commented out the USE_DEPRECATED_API define. 2002-11-07 14:29:33 +00:00
Robert Osfield
6d09a50c6d Added shape drawable into dot osg plugin. 2002-11-07 08:49:12 +00:00
Don BURNS
7669b96c28 Changed a couple of const/non-const discrpancies between header and source
for TexGen.  Removed external library dependencies in plugin makefiles
2002-11-06 18:39:32 +00:00
Robert Osfield
f6cbfc20bd Fix for backwards compatibility. 2002-11-06 16:04:51 +00:00
Robert Osfield
3bd400130c Name change and const change of Drawable::drawImmediateMode(State&) to
Drawable::drawImplementation(State&) const.   Various updates to the
rest of the OSG to accomodate this.
2002-11-06 15:43:11 +00:00
Robert Osfield
26875c965d Renamed ProceduralGeometry to ShapeDrawable to better reflect its current
purpose.
2002-11-06 10:46:34 +00:00
Robert Osfield
5eb65f65cc Added support for recording camera animation paths in osgGLUT::Viewer, and fixed
the osgGA::AnimationPathManipulator to handle it.

Added a new Drawable::ConstAttributeFunctor and make the accept(PrimitiveFunctor)
be a const method so can disallows modification.  Added Drawable::supports(...) methods
for each of the AttributeFunctor, ConstAttributeFunctor and PrimitiveFunctor so
that programs can querry whether it is possible to use functors with that object type.
2002-11-06 10:24:33 +00:00
Robert Osfield
a6eafa79e2 From Ulrich Hertlien, added ReaderWriter::Options to the osgconv and pfb plugin
so that all the pfi files can be converted to rgb be the plugin.
2002-11-04 09:08:50 +00:00
Robert Osfield
bba03297a7 Added support for primitive functor into the new osg::ProceduralGeometry class 2002-11-01 15:12:51 +00:00
Robert Osfield
d9af228892 Added export to the height field class. 2002-11-01 10:39:35 +00:00
Robert Osfield
94105025a0 Updates to Shape support. 2002-11-01 10:25:27 +00:00
Robert Osfield
21ee9e4cb7 Added osg::Grid shape class, and added an example of its use into the
hang glide demo.
2002-10-31 10:36:11 +00:00
Robert Osfield
da84f9b4aa Added first cut of new primtive shapes support. 2002-10-30 13:27:15 +00:00
Robert Osfield
2e99fdacfc Removal of more redundent const base types. 2002-10-30 12:58:26 +00:00
Robert Osfield
32c6a7809a Updated the handling of string in the .osg reading and writing so that it
handles the use of " quotes inside the string.
2002-10-28 12:55:19 +00:00
Robert Osfield
55b2a5ff30 From Gideon May, fixes to remain const base type instances in headers. 2002-10-25 12:29:03 +00:00
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
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