Commit Graph

1069 Commits

Author SHA1 Message Date
Robert Osfield
32a78e5a16 From Geoff Michel, typo and spelling fixes. 2004-08-31 14:49:33 +00:00
Robert Osfield
e278cc9d4c From Geoff Michel, spelling and typo fixes. 2004-08-31 14:08:12 +00:00
Robert Osfield
3b90a0e8a6 From Sébastien Kuntz, spelling and typo fixes 2004-08-31 13:19:30 +00:00
Robert Osfield
08017daf37 Added rescale of quaternion in Matrix::set(Quat), a copy operation in osg::Quat and
extra tracking options in NodeTrackerManipulator.
2004-08-31 09:20:31 +00:00
Robert Osfield
b2d39d7f5b Added s/getLoopingMode() to ImageStream and MPEG plugin 2004-08-24 12:55:15 +00:00
Robert Osfield
ca61c11134 From David Fries, "I added code to also check the local up vector, but
only if one of the rotation modes is selected, because autoscale isn't
affected by the camera rotations. "
2004-08-17 07:58:32 +00:00
Robert Osfield
cf99c3c9bd Added support in Image::flipVertical for flipping mipmapped imagery
and for flipping compressed imagery.
2004-08-16 20:57:24 +00:00
Robert Osfield
857d8e2435 Added the ability to set the global stateset, as use this RenderStageLighting 2004-08-07 09:42:19 +00:00
Robert Osfield
3579506fa8 Added support for osg::AutoTransform::setAutoRotateMode(AutoRotateMode) deprecating
the previous setAutoRotateToScreen().  Added support for ROTATE_TO_CAMERA mode.

Cleaned up the autotransform demo to use a sensible number of labels
2004-08-06 08:22:58 +00:00
Robert Osfield
c35d5de13a Typo fixes from Geoff Michel 2004-08-06 05:28:51 +00:00
Robert Osfield
e9f4ed87bc From Jay Zuckerman, fixes to AutoTransform so that it includes checking of
previous position value.
2004-08-05 15:15:51 +00:00
Robert Osfield
7eb3f2646e From Norman Vine (with small tweaks by Robert Osfield), build fixes for Cygwin 2004-08-04 08:27:43 +00:00
Robert Osfield
1f0eebb8cd Fixed tabbing 2004-08-03 19:00:55 +00:00
Robert Osfield
7126ca44e9 Better macro support for switching on/off use of mutex 2004-08-03 11:01:39 +00:00
Robert Osfield
6524fe1293 From Norman Vine, fixes for Mingw 2004-08-02 09:11:31 +00:00
Robert Osfield
4d9bd4d825 Build fixes for gcc 3.4.1 support 2004-08-01 08:26:44 +00:00
Robert Osfield
b790fa59a8 Added beginnings of new TrackballManipulator 2004-07-30 15:44:59 +00:00
Robert Osfield
bb5576bef8 Added support s/getImage(uint i) and getNumImages(). 2004-07-27 10:11:45 +00:00
Robert Osfield
8837d667f0 Made the handling of types more consistent 2004-07-26 19:40:02 +00:00
Robert Osfield
31a664a24d Changed value_type back to being a float. 2004-07-25 18:46:20 +00:00
Robert Osfield
cf62f7097d Added ImageStream::quit(bool) for exiting from video threads, and added
clean up to OsgCameGroup to quit movie threads automatically.
2004-07-23 09:15:22 +00:00
Robert Osfield
c9f5749c12 Added preliminary support for thread safety in various delete GLobjects code 2004-07-21 19:16:49 +00:00
Robert Osfield
f634026034 Removed stop method, as it overlaps the pause method. 2004-07-21 19:00:48 +00:00
Robert Osfield
aa833acfd3 Added support for releasing GLObjects, and renamed DisplayListVisitor the
GLObjectVisitor to better fit its function, and added support for releasing
objects as well as compiling them.
2004-07-20 05:37:59 +00:00
Robert Osfield
d36e302573 Added OpenThreads mutex to protect ref()/unref(). 2004-07-20 05:34:02 +00:00
Robert Osfield
ba295ccab7 Added a more flexible variable on the textured quad generation function 2004-07-12 01:01:00 +00:00
Robert Osfield
363d13d7ce Added CLUSTER_CULLING mask to CullSettings, and modified the ClusterCullingCallback
to use the mask to see if cluster culling is enabled or disabled.
2004-07-11 21:46:23 +00:00
Robert Osfield
3f4b8e9034 Fixed cluster culling. 2004-07-09 20:58:43 +00:00
Robert Osfield
7ef8b14bf0 VS.NET Warning fixes from Stephane 2004-07-09 15:41:50 +00:00
Robert Osfield
89a4dcbbd3 Added GL_TEXTURE_DEPTH #define for Win32 build 2004-07-06 06:13:34 +00:00
Robert Osfield
cce00c475b Added suppor for copying mipmaps of compressed textures 2004-07-05 21:09:30 +00:00
Robert Osfield
2ce192f0ae Change the light in LightSource from a generic osg::StateAttribute to
a osg::Light.
2004-07-02 14:46:24 +00:00
Robert Osfield
4ba3f7cad3 Added setFunction and setReferenceValue method 2004-07-02 14:45:36 +00:00
Robert Osfield
0c38189018 Moved the radius parameter from PageLOD into LOD. 2004-07-01 13:53:30 +00:00
Robert Osfield
a8ee967f14 Added support for using pixel size control of LOD levels. 2004-06-30 19:07:05 +00:00
Robert Osfield
888d9e2a25 From Pavel Moloshtan, added support for storing primitive sets in VBO's 2004-06-29 15:04:38 +00:00
Robert Osfield
20de9666dd From Terry Welsh, added support for reading and writing osg::FragmentProgram
local parameters.
2004-06-28 10:00:21 +00:00
Robert Osfield
06aa06d686 Added support for setting texture units in the new TexGenNode. 2004-06-17 14:02:15 +00:00
Robert Osfield
85344ebdaf Fixed deprecated #idef 2004-06-14 20:14:54 +00:00
Robert Osfield
3eea9dc1a7 Fixed #ifdef USE_DEPRECATED_API 2004-06-14 20:11:28 +00:00
Robert Osfield
2d35b3cc27 Changed Billboard::g/setPos(..) to g/setPosition(..). 2004-06-14 19:34:43 +00:00
Robert Osfield
7367c1cee5 Added extra constructor to make it more convinient to create AlphaFunc. 2004-06-14 19:30:20 +00:00
Robert Osfield
33bc3820ac Tweaked comments. 2004-06-14 19:20:07 +00:00
Robert Osfield
1e2aae1634 Removed old UserData comment which was non longer relevant. 2004-06-14 19:17:32 +00:00
Robert Osfield
78d075eb24 Added new TexGenNode class for positioning tex gens. 2004-06-14 19:11:04 +00:00
Robert Osfield
f75a7c6294 Added CoordinateSystemNode::set(const CoordinateSystemNode&) method to conviniently
set up a coordindate system.
2004-06-09 15:11:27 +00:00
Robert Osfield
a8ce6b01d6 Added CoordinateSystem::s/getFormat(). 2004-06-09 15:00:03 +00:00
Robert Osfield
893eaaa3f4 Cleaned up float vs double types in Vec*d and Vec2f classes 2004-06-09 13:06:12 +00:00
Robert Osfield
eec378a885 Moved the osg::ClusterCullingCallback into into own header and source file. 2004-06-07 15:05:22 +00:00
Robert Osfield
1f4417ab2b Fixed the Vec*d class so there have value_type set to double. 2004-06-04 16:32:00 +00:00
Robert Osfield
bfd1286b25 Add clamping to 0..1 bounds for each of the r,g,b,a components in
the CubeMapGenerator::set_pixel() method.
2004-06-04 11:35:13 +00:00
Robert Osfield
fee33001fd Fixed warnigs on VS. 2004-05-20 13:54:53 +00:00
Robert Osfield
eba53406d4 Fixed typo of Vec3f to Vec2f 2004-05-20 10:42:05 +00:00
Robert Osfield
f02c75f5ea Added Vec2d, Vec3d and Vec4d classes, and remapped Vec2, Vec3 and Vec4 to
Vec2f, Vec3f an Vec4f respectively, with typedef's to the from Vec* to Vec*f.
2004-05-20 10:15:48 +00:00
Robert Osfield
17214df1fc Added GL_SCALE_NORMAL define to get round compilation against GL1.1 headers 2004-05-19 09:17:36 +00:00
Robert Osfield
9ff7933d96 Added GL_RESCALE_NORMAL to allow compilation with GL1.1 headers 2004-05-19 09:12:52 +00:00
Robert Osfield
71150e96dc From Ruben, fix for gcc 3.4 build 2004-05-17 10:21:30 +00:00
Don BURNS
4ebb2ddd5a Ooops... previous fix didn't work, corrected. 2004-05-08 18:41:18 +00:00
Don BURNS
3b92e02f29 Fixed a define for __sgi. Irix does not allow dlsym(0L, ...) without
calling dlopen() first, just like __sun
2004-05-08 18:37:26 +00:00
Robert Osfield
0307463746 Added GL_TEXTURE_RECTANGLE define 2004-05-07 12:40:21 +00:00
Robert Osfield
48dad727b1 From Bob Kuehne, added getting of the max number of texture units in
the Texture::Extension object
2004-05-07 11:28:55 +00:00
Robert Osfield
eedfe44a1c Fixed computeLocalTransform to generate correct orientation of local coordinate
frame.
2004-05-06 10:54:58 +00:00
Robert Osfield
8bdb68ef97 Added support for reading environmental varables in CullSettings. 2004-05-05 09:16:12 +00:00
Robert Osfield
b7746ff56e Added support for automatically finding CoordinateSystemNode's in the
scene graph and then using them to set up the CoordinateFrame used
by the camera manipulators.
2004-05-03 12:04:25 +00:00
Robert Osfield
fced94fab3 Added support for decoration of the osgTerrain::DataSet generated databases
with a CoordinateSystemNode which reflect the coordinate system of the
database.

Added support for reading and writing CoordianteSystemNode into the .osg
and .ive formats.
2004-05-02 21:50:15 +00:00
Robert Osfield
5836d60fbd Added osg::CullSettings class as a way of collecting all the various
settings related to the cull traversal in one place, so we can keep APIs
for settings these values more consistent.
2004-04-30 15:35:31 +00:00
Robert Osfield
36cd372847 Added osg::CoordinateSystemNode 2004-04-29 22:16:50 +00:00
Robert Osfield
017983429b Added getBoundingBox() method to osg::Geode to provide a closer bound
of the bounding volume of a Geode to be tracked.  This sits alongside
the existing getBound() method which returns a bounding sphere.
2004-04-22 10:47:12 +00:00
Robert Osfield
715cdcf5e2 From Don Tidrow, changed "setupGLExtenions()" to "setupGLExtensions()" in Texture and
Texture.cpp
2004-04-16 22:50:41 +00:00
Robert Osfield
97ef4985f7 From Eric Wing, clean ups for OSX support. 2004-04-11 21:21:38 +00:00
Robert Osfield
e44176a7aa Fixed the handling begin()/vertex()/end() sequences in TriangleIndexFunctor. 2004-03-29 12:28:40 +00:00
Robert Osfield
aa52005b87 Added empty() method to Geometry to facilitate tests for removing empty
geometry from the scene graph.

Added removal of empty geometry leaves from within the RemoveEmptyNodeVisitor
2004-03-29 10:24:16 +00:00
Robert Osfield
c46855976c Added empty() method as a convinience method for setting checking whether
an animation path contains any control points
2004-03-26 10:48:29 +00:00
Robert Osfield
02f9ce48bc Added ArgumentParser::Parameter class to make the argument parsing much more
flexible, and to simplifying the API.  The read(,,,) methods now take
Parameter objects as arguments, and this Parameter adapt what ever basic
type is passed in, so is able to transparently handle float, double, int,
unsigned int & strings.
2004-03-19 22:03:09 +00:00
Robert Osfield
28214337a3 Moved the LineSegment destructor from the header to the source to avoid
compilation problems under MingW.
2004-03-19 09:18:21 +00:00
Robert Osfield
86dbbb2874 Added PrimitiveIndexFunctor for better support of TriangleIndexFunctor 2004-03-14 21:54:17 +00:00
Robert Osfield
28759baa98 From Marco Jez, added support NVidia extension to imager formats. 2004-03-14 15:08:12 +00:00
Robert Osfield
9f6383f5dd Added TextureRectangle(Image*) contructor. 2004-03-09 14:59:33 +00:00
Robert Osfield
a3d99d88ff Added float s, float t parameters to createTexturedGeometry function 2004-03-09 14:58:50 +00:00
Robert Osfield
8b47c9c85d Preliminary work on general support of video textures. 2004-03-09 09:42:07 +00:00
Robert Osfield
358743f999 Added support for APPLE_client_storage of textures. 2004-03-08 17:09:58 +00:00
Robert Osfield
136db7b63a Clean up of headers. 2004-03-08 11:53:12 +00:00
Robert Osfield
bd37f999c4 From Bob Kuehne, change on __DARWIN_OSX__ define to __APPLE__ 2004-03-08 11:02:05 +00:00
Robert Osfield
ccefa05523 Clean up of headers. 2004-03-07 14:21:11 +00:00
Robert Osfield
c8b8a81052 Changed StateAttribute::getAssociatedModes(std::vector<GLMode>&) across
to StateAttribute::getModeUsage(StateAttribute::ModeUsage&).
2004-03-03 15:38:22 +00:00
Robert Osfield
4aa7afedf3 Removed include <iostream> where possible, replacing with istream or ostream and changing
std::cout/cerr to osg::notify().
2004-03-03 13:27:21 +00:00
Robert Osfield
f8f1456654 From Ruben, addition of osg::PointSprite and osgpointsprite example. 2004-03-02 22:36:11 +00:00
Robert Osfield
e2469aece9 From David Jung, added support for osg::Capsule shape 2004-03-02 20:33:00 +00:00
Robert Osfield
1b7b65389e From Brad Christiansen: added _matrixDirty=true to AutoTransform::setPosition(..)
method.  From Robert Osfield, probagated this change to other AutoTransform set
methods.
2004-03-02 15:27:59 +00:00
Robert Osfield
8a1c39bffb Fixed warning message 2004-03-02 15:26:31 +00:00
Robert Osfield
ac812539d8 Added scale parameter into PositionAttitudeTransform.
Added pivotPoint parameter into AnimationPathCallack.
2004-02-22 11:58:44 +00:00
Robert Osfield
d2491f6750 Added AnimationPathCallback::s/getTimeOffset and s/getTimeMultiplier() methods. 2004-02-21 16:56:23 +00:00
Robert Osfield
a6541a27bf Added missing _pause(false) into AnimationPathCallback default contructor. 2004-02-20 20:47:35 +00:00
Robert Osfield
a992676a98 Added missing initialization in the AnimationPathCallback constructor. 2004-02-20 20:10:51 +00:00
Robert Osfield
ebbf92e43c Added Material::operator = 2004-02-20 11:51:14 +00:00
Robert Osfield
eca2fc2837 Improved osgSim::SphereSegmenet's handling of transparancy. 2004-02-12 01:15:37 +00:00
Robert Osfield
61cb27806f From Brad Christiansen, fix to enable AutoTransform to keep track of window
size/perspective changes
2004-02-11 10:19:52 +00:00
Robert Osfield
33201a8f25 Added new TriangleIndexFunctor. 2004-02-09 10:14:06 +00:00
Robert Osfield
f5e2f7c731 Added atan2f to the list of #define's into include/osg/Math. 2004-02-02 08:55:17 +00:00
Robert Osfield
d83fa3fca5 Added AnimationPathCallback::getAnimationTime() method 2004-01-31 11:34:28 +00:00
Robert Osfield
268096be69 Added osg:: infront of State in Draw callback to make the callback work
when copy and pasting it in user code.
2004-01-30 21:10:05 +00:00
Robert Osfield
475c583975 From Pavel Moloshtan, add support to osg::Texture files for GL_ARB_shadow_ambinet support 2004-01-29 11:16:49 +00:00
Robert Osfield
635f302a2a Added support for osg::Texture::setBorderWidth(). 2004-01-27 21:29:58 +00:00
Robert Osfield
6700faccf4 Added operator = implementations to template classes. 2004-01-27 14:46:29 +00:00
Robert Osfield
635cf7f7c5 Made getLookAt() etc methods const 2004-01-23 16:09:56 +00:00
Robert Osfield
edce2211fa From Romano Magacho, fixes to handle the subloading from Image when the
internal format changes requiring a rebuild of the texture object.
2004-01-23 13:25:45 +00:00
Robert Osfield
b9f032bbb5 Updates for improvements to osgdem, such as adding support for skirt
and border into osg::HeightField, handling of computation of neigherbouring
tiles in osgdem's DestinationGraph.
2004-01-18 21:59:20 +00:00
Robert Osfield
6ff3f430b0 Clean ups of floats & .0f's 2004-01-14 15:14:20 +00:00
Robert Osfield
72b8e5797c Fixed for Win32 build 2004-01-13 09:47:31 +00:00
Robert Osfield
4765c8744d Introduce new Matrix::invert() implementation from Ravi Mathur, with tweaks
by Robert Osfield.
2004-01-12 14:22:18 +00:00
Robert Osfield
c3b888c862 Fixed compile warning 2004-01-12 14:21:26 +00:00
Robert Osfield
b89ec5dcf9 Changed of _firstTime intial values of 0 to DBL_MAX. 2004-01-12 13:53:04 +00:00
Robert Osfield
8747b5161a Standardised on using value_type in most methods in Matrixd & Matrixf interfaces
and Matrix_implementation.cpp.
2004-01-09 20:33:23 +00:00
Robert Osfield
6bdd84e3b0 Made the default settings of Quat 0,0,0,1 to represent a zero rotation. 2004-01-08 21:04:42 +00:00
Robert Osfield
cace776940 Moaved PagedLOD::PerRangeData implementaton into .cpp and add missing
return *this to copy operator.
2004-01-07 08:39:33 +00:00
Robert Osfield
413064fc6e Added support for priority offset and scale into PagedLOD. 2004-01-05 20:45:28 +00:00
Robert Osfield
d25b682269 Fixed osgFX::Validator::compare(..) so that it checked for the correct
StateAttribute type before comparing member variables.

Fixed docs typo in Material
2004-01-04 12:37:18 +00:00
Robert Osfield
458e10c796 Fixed getFogCoord methods 2004-01-02 20:44:18 +00:00
Robert Osfield
30bafd8867 Added Mode parameter to constructor. 2003-12-20 14:19:09 +00:00
Robert Osfield
b1945b865e Added swap bytes methods. 2003-12-19 22:34:18 +00:00
Robert Osfield
d99e7a2d00 Changed inline docs for readPixels to say "read pixels from current frame buffer" 2003-12-18 20:53:23 +00:00
Robert Osfield
7f76c66a00 Added definition of GL_DEPTH_TEXTURE_MODE_ARB 2003-12-18 16:15:58 +00:00
Robert Osfield
3eef331f2a Fixed s/getCreateBackFace(bool on) methds so that use used the correct variable. 2003-12-18 10:57:57 +00:00
Robert Osfield
8fefec9f47 From Pavel Moloshtan, added GL_ARB_shadow_support to osg::Texture. 2003-12-17 19:26:16 +00:00
Robert Osfield
1e361017c8 From Pavel Molishtan, Fixed comparision of _t plane. 2003-12-17 17:05:20 +00:00
Robert Osfield
2e9676f2cb Put the ordering of the callbacks so that the update callback is first,
then cull then draw.  Added missing copy of update callback into copy
constructor.
2003-12-16 08:56:49 +00:00
Robert Osfield
5295d68fd3 Added _maximumNumberOfActiveOccluders variable to CollectOccludersVisitor(), to
limit the maximum number of occluders used in the cull traversal, default is
now 10.

Added set/getCollectOccluderVisitor() method into SceneView to allow control
of the the settings of the CollectOccluderVisitor.
2003-12-11 16:46:45 +00:00
Robert Osfield
9780a7cbd6 Removed osg::Transform::ComputeTransformCallback from osg::Transform.
Updated various dependant files to reimplemt callbacks as Transform subclasses.
2003-12-09 14:07:44 +00:00
Robert Osfield
1baffa3a77 Addition of the following methods:
/** Set the object-space reference radius of the volume enclosed by the PagedLOD.
          * Used to detmine the bounding sphere of the PagedLOD in the absense of any children.*/
        inline void setRadius(float radius) { _radius = radius; }

        /** Get the object-space radius of the volume enclosed by the PagedLOD.*/
        inline float getRadius() const { return _radius; }


        /** Set the number of children that the PagedLOD must keep around, even if thay are older than their expiry time.*/
        inline void setNumChildrenThatCannotBeExpired(unsigned int num) { _numChildrenThatCannotBeExpired = num; }

        /** Get the number of children that the PagedLOD must keep around, even if thay are older than their expiry time.*/
        unsigned int getNumChildrenThatCannotBeExpired() const { return _numChildrenThatCannotBeExpired; }
2003-12-09 12:08:27 +00:00
Robert Osfield
6d5eb79804 Addition of Mode mode=MODULATE constructor. 2003-12-09 12:05:50 +00:00
Robert Osfield
393f1580c8 From Pavel Moloshtan, extension support for ARB_occlusion_querry 2003-12-09 11:20:44 +00:00
Robert Osfield
db66abd6d6 Implemented duplicate removal code into TriStripVisitor and added an
extra pass to doing tri stripping in the osgUtil::Optimzer.

Added validity checks into osg::TexEnvCombine to catch eronous enumarant values.

Improved the efficient of CullingSet's handling of new transforms.

Added a copy shared subgraphs and subdivision code into osgUtil::Optimizer.
2003-12-03 21:45:32 +00:00
Robert Osfield
cdb6f9a1df Made removedExpiredChildren() virtual. 2003-12-03 21:28:42 +00:00
Robert Osfield
e7f9a51f0f Updates to osgdem + BoundingBox to support graph iterators 2003-11-27 15:13:55 +00:00
Robert Osfield
31c5528ffb Moved osg::DOFTransform to osgSim::DOFTransform.
Fixed crash associated with .osg files which contain empty description fields.

From Sondra Inverson, added support to .ive plugin for osgSim::DOFTransform.
2003-11-25 14:11:05 +00:00
Robert Osfield
9c311b4077 Added intersect method. 2003-11-25 10:56:42 +00:00
Robert Osfield
d82b3d0105 Added read(string,float,float,float,float) method 2003-11-25 10:56:12 +00:00
Robert Osfield
62c955fa19 Added the missing insertChild(index,child) and insertChild(index,child,value) into
osg::Switch.
2003-11-20 12:03:51 +00:00
Robert Osfield
8f2a688eff Added TextureObjectManager constructor. 2003-11-04 22:00:16 +00:00
Robert Osfield
54a8ea33ce Added support to slideshow3D for -s commandline option allow the size of
the display to be specified.

Also implementaited some code for display position and speed info in
osgProducer::Viewer, not fully implemented yet.
2003-11-04 16:38:10 +00:00
Robert Osfield
bc7622149d Updated to slideshow3D to support animation + pausing of animation.
Updated associated osg/osgUtil classes that provide animation pausing.
2003-11-03 23:13:31 +00:00
Robert Osfield
fd016af34b Added support for 565 textures to osgbluemarble.
Added a osg::Image::scaleImage() version which allows the datatype to be varied.
2003-10-29 23:10:11 +00:00
Robert Osfield
f1c4dc3b0d Updates for osgdem. Including new read/writeHeightField() methods. 2003-10-29 11:11:17 +00:00
Robert Osfield
eb4ee3afad *** empty log message *** 2003-10-27 16:07:21 +00:00
Robert Osfield
8bb2ca48b7 Made = opeator const. 2003-10-17 10:26:31 +00:00
Robert Osfield
fad832425f Improvements to DatabasePager 2003-10-10 19:25:14 +00:00
Robert Osfield
5d35daa970 Udates to Drawable + IVE plugin with support for new ClusterCullingCallack.
Improvement to osgbluemarble.
2003-10-10 12:54:21 +00:00
Robert Osfield
1a6dc82d32 Made the Drawable::*Callback derive from osg::Object so that they can be
saved to .osg properly.

Added osg::ClusterCullingCallback to Drawable header/source.  Not complete yet,
but will enable drawables to culled is they are facing away from the eye point.
2003-10-08 21:29:45 +00:00
Robert Osfield
4700b8902c Introduced new DisplaySettings::set/getDisplayType() and environemtal variables
to and command line arguments to set it.

Added support for using the DisplaySettings::getDisplayType() to detect use
of a Head Mounted Display when doing stereo so that the asymtric frustum can
be switched off.
2003-10-01 15:56:52 +00:00
Robert Osfield
e693f148cb Made osg::Quat support either float or double internal representation, defaulting to double.
Generalised the osgDB::Field so that its getFloat() method can be used with either doubles or
floats governed by the type passed in - this helps support either float/double
Quat and Matrix classes seemlessly.
2003-09-29 13:35:02 +00:00
Robert Osfield
7d69f8e193 Added getPerspective() method to Matrix* and SceneView 2003-09-29 13:14:34 +00:00
Robert Osfield
da8ef894c1 Added equals operator to CUllingSet.
Update AUTHORS file.

Change tabs to 4 spaces in ive/TextureCubeMap.cpp
2003-09-28 10:15:10 +00:00
Robert Osfield
5027d831c0 Fixed nameing of getAllocationMode() 2003-09-28 09:23:45 +00:00
Robert Osfield
f8df9991b2 Improves to CullStack.
From M.Grngr. options support for f=switching off internal imagery in .ive files
2003-09-26 11:20:43 +00:00
Robert Osfield
7fb9f6be4b Added the beginnings of a new osgforest example.
Added support into osg::TriangleFunctor for specifying whether the vertices
being generates are temporary or not.
2003-09-25 21:54:33 +00:00
Robert Osfield
2812c50329 Improved the Geometry::verifyBinding() and computeCorrectBindingsAndArraySizes()
methods to check all atributes and to report warnigns when errors are detected.

Added a CheckGeomtryVisitor to osgUtil::Optimizer to detect eroneous Geometry
before rendering.
2003-09-24 15:54:22 +00:00
Robert Osfield
c2b02608d1 Renamed instance of variables called format to pixelFormat to make a
clearer distinction between pixelFormat and internalTextureFormat.
2003-09-22 09:13:22 +00:00
Robert Osfield
d45fcb5613 From Alberto Farre, added support for GL_EXT_blend_color, GL_ARB_multisample,
GL_NV_multisample_filter_hint extension in the form of osg::BlendColor and
osg::Multisample state attribute classes.
2003-09-17 12:04:48 +00:00
Robert Osfield
cec0b35cd4 Fixes for .osg output of UByte4 values, and added missing template contructor
to DrawElementsUShort.
2003-09-16 19:54:57 +00:00
Robert Osfield
41a07127fe Added applyProjectionMatrix(0); & applyModelViewMatrix(0); into
osg::State::popAllStateSets(), removed some debugging output.
2003-09-10 23:18:52 +00:00
Robert Osfield
69c4e87bb7 Added osg::State::popAllStateSets() method to pop all remain StateSet's off
the state stack, thus readying the state object to recieve a new frame.

Removed the state.reset() call in osgUtil::SceneView::cull() as this was
causing problems with stats producing inheritance of state when toggling
stats on.
2003-09-10 21:22:47 +00:00
Robert Osfield
6c22afa51c Fixes for osgFX. 2003-09-10 12:38:28 +00:00
Robert Osfield
b165fc9b4d Cleaned up handling of vertex arrays in osg::Geometry.
Added support for vertex attribute arrays in .osg and .ive.
2003-09-09 22:18:35 +00:00
Robert Osfield
33b03f7ac3 Updated docs for release.
Added OSG_USE_DOUBLE_MARTRICES define into include/osg/Matrix to make it more
convinient to switch between single and double matrices.
2003-09-09 08:56:51 +00:00
Robert Osfield
3f042d2f1b Updated NEWS/AUTHORS + html docs for release. 2003-09-08 10:51:14 +00:00
Robert Osfield
792bba05b9 Added new Matrixf and Matrixd implementations.
Made Matrix be a typedef to either Matrixf or Matrixd.  Defaults to Matrixf.

Converted the osgGA::MatrixManipulators and osgProducer::Viewer/OsgCameraGroup
across to using exclusively Matrixd for internal computations and passing betwen
Manipulators, Producer and SceneView. Note, SceneView still uses Matrix internally
so will depend on what is set as the default in include/osg/Matrix.

Added the ability to osgProducer::setDone/getDone(), kept done() as the
method that the viewer main loop uses for detecting the exit condition.
2003-09-05 22:35:34 +00:00
Robert Osfield
a2834d74d2 Added set and get methods for Matrixd and Matrixf. 2003-09-05 20:52:36 +00:00
Robert Osfield
5b93250eb0 Added support for Matrixd and Matrixf implementations, with the default
Matrix typedef's to either Matrixd or Matrixf.
2003-09-05 20:48:42 +00:00
Robert Osfield
f8107a39b9 Build Fixes for IRIX. 2003-09-04 08:50:06 +00:00
Robert Osfield
bd44cfcfd8 Added a Matrix::value_type typedef'd trait into osg::Matrix, defaulting its
value to float, and converted the internal code across to use value_type.  This
allows Matrix to be converted to use double's simply by change the definition
of value_type.  Added Matrix::glLoadlMatrix and Matrix::glMultMatrix() to
help encapsulate the changes between float and double matrix usage.

Updated code that uses Matrix so it doesn't assume float or double matrices.
2003-09-03 10:47:25 +00:00
Robert Osfield
e530912744 Made Matrix a typedef to Matrixf, and converted the old Matrix to Matrixf, as
part of prep for supporting both Matrixf (float) and Matrixd (double).

Added osg::Matrixf::glLoadMatrix() and osg::Matrixf::glMultiMatrix() methods
and changed corresponding usage of glLoad/MultMatrixf() calls across to use these
methods. Again prep for support Matrixd.

Fixes for VisualStudio 6.0 compile.
2003-09-02 17:19:18 +00:00
Robert Osfield
0ed56936ce Removed suplerfluous inline from setInitialViewMatrix(). 2003-08-25 13:31:31 +00:00
Robert Osfield
bd798a6c4e Added getInitialInverseViewMatrix() to osg::State. 2003-08-25 13:06:15 +00:00
Robert Osfield
02561a96c7 Compile/Warnings fixes. 2003-08-21 14:26:40 +00:00
Robert Osfield
18abc3aff7 Renamed instances of Click to Tick for consistency. 2003-08-20 12:51:40 +00:00
Robert Osfield
1c3b2b2554 Standardised the culling flags between CullingSet and CullStack, and
made ENABLE_ALL_CULLING enable all culling including the near and far plane.
DEFAULT_CULLING is now used for the default as uses the same original
values as ENABLE_ALL_CULLING once did - view frustum culling with near and
far culling. SceneView now uses DEFAULT_CULLING.
2003-08-20 12:50:54 +00:00
Robert Osfield
bca7e4e73b Added osg::setGLExtensionDisableString && osg::getGLExtensionDisableString()
functions the GLExtensions file, and made the isGLExtensionSupported() function
use the extension disable string when extension are querried.
2003-08-20 10:38:54 +00:00
Robert Osfield
0685c2a852 Added applyTexImage_subload() implemention into TextureRectangle class
to provide automatic support for texture subloading.
2003-08-18 19:36:50 +00:00
Robert Osfield
c334279935 Changed private to protected to allow Timer to be subclassed more easily. 2003-08-18 15:14:09 +00:00
Robert Osfield
ee0cce1679 Added getSecondsPerClick() method to Timer. 2003-08-18 15:12:04 +00:00
Robert Osfield
8c65920c1f Fixes for Java build. 2003-08-18 09:24:17 +00:00
Robert Osfield
4b7bde1440 Removed the deprecated NodeVisitor::getLocalToWorld/WorldToLocal methods as
this are replaced by the osg::computeLocalToWorld/WorldToLocal() functions
found in osg/Transform.

Made the ReleaseTextureAndDisplayListsVisitor a public nested class of
osgDB::DatabasePager to allow it to be used in the TXP plugin, and added
usage of this visitor to the TXP plugin to make sure that textures and
display lists are released during the update thread.
2003-08-14 00:05:34 +00:00
Robert Osfield
ef4535a2a4 Added s/getFastPathHint(). 2003-08-09 00:46:48 +00:00
Robert Osfield
a11395feec Added missing copy ops in the copy constructor.
Added computeInternalOptimziedGeometry() and associated methods to Geometry
to support alternate versions of a geometry to be used to optimize rendering,
such as flattening indexed attributes to straight attribute arrays.
2003-08-08 00:21:30 +00:00
Robert Osfield
ca3f824410 Added convience constructor. 2003-08-08 00:19:06 +00:00
Robert Osfield
8bd3e9f1b2 From Romano José Magacho da Silva, extension checking for NV_occlusion_query extension. 2003-07-23 20:53:53 +00:00
Robert Osfield
27c4dc0920 From Sean, fix for Sun windows extension checking. 2003-07-23 20:50:56 +00:00
Robert Osfield
2ce08d8088 Warning fixes from Gideon May. 2003-07-23 11:45:37 +00:00
Robert Osfield
ee30f2e30c Added support for osg::State::s/getInitialViewMatrix();
Added slideshow3D examples to the runexamples.bat.

Fixed DatabasePager to work with the latest OpenThreads.
2003-07-22 21:03:59 +00:00
Robert Osfield
23fc1900ce From Romano Jose Magacho da Silva, added osg:FragmentProgram.
From Robert, add .osg support for FragmentProgram.
2003-07-17 06:43:15 +00:00
Robert Osfield
2a142c096a Added setProjectionMatrix*(), setViewMatrix*() and get*() methods to osgUtil::SceneView. 2003-07-16 22:15:28 +00:00
Robert Osfield
a4b29996fd Added osg::Matrix::getOtho,getFrustum and getLookAt() methods.
Added test for new matrix methods into unit tests example, but these really
should go in their own lib...
2003-07-16 20:14:48 +00:00
Robert Osfield
82008d5ecd Updates to the flush rendering objects function calls to allow for
managment of amount of time available to do gl delete's.  This control is
required for constant frame rate applications.
2003-07-15 21:19:03 +00:00
Robert Osfield
47965884e9 Moved PROGRAMOBJECT definition into StateAttribute. 2003-07-15 16:22:29 +00:00
Robert Osfield
1998bdef86 Moved osg::Statistics to osgUtil::Statistics and merged addition to it
fro Pavel Moloshtan.
2003-07-15 13:46:19 +00:00
Robert Osfield
953ac782ac From Gideon May, added
typedef T element_type;

To ref_ptr<> to make it compatible with the boost ref_ptr<> implemenations.
2003-07-15 08:17:54 +00:00
Robert Osfield
1b9d7d458a Added support for texture object manager, which provides an automatic mechansim
for reusing deleted textures.
2003-07-14 14:42:10 +00:00
Don BURNS
c60b5b6522 included <sys/types.h> for SGI compilation of Timer header file 2003-07-11 18:46:56 +00:00
Robert Osfield
606daca904 Added default constructor implemention to LOD and PagedLOD.
Added verbose messages to DatabasePager.
2003-07-10 14:53:07 +00:00
Robert Osfield
9c5f84e99e From Eric Sokolosky, insertChild(). 2003-07-10 13:11:25 +00:00
Robert Osfield
5aa47a77c2 Improvements to the DatabasePager and PagedLOD class adding support for
deleting expuired children in the database thread.
2003-07-09 14:55:39 +00:00
Robert Osfield
c2eabe1d4b Added osg::PagedLOD and osgProducer::DatabasePager class, and linked up osgProducer::Viewer
to manage the pager.
2003-07-08 14:44:00 +00:00
Robert Osfield
b5442ac835 Added support for the ARB_vertex_buffer_object into osg::Geometry. 2003-06-29 21:41:57 +00:00
Robert Osfield
d70ab592ed Additions since the CVS back up was made. 2003-06-24 21:57:13 +00:00
Don BURNS
15f88f35b2 *** empty log message *** 2003-06-24 15:40:09 +00:00
Robert Osfield
b444cc1ab3 Added support for scaling the projection in vertical and horizontal split stereo
modes.
2003-05-27 11:03:49 +00:00
Robert Osfield
4a804ebf32 Reverted recent changes so the set(Matrix&) method. 2003-05-27 11:02:45 +00:00
Robert Osfield
9ab1c960b6 Moved the GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB into its own #ifndef block
to help with OSX support.
2003-05-26 09:29:59 +00:00
Robert Osfield
fb55f6ffbc Improved the handling of scaled matrices in the Quat::set(Matrix&) method. 2003-05-21 21:32:56 +00:00
Robert Osfield
4a6bdad3e1 Removed osg::GeoSet for core osg lib and osgPlugin.
Commented out OpenDX plugin as its still based on GeoSet.

Added support for loading and converting GeoSet into the osgconv example.
2003-05-21 12:15:45 +00:00
Robert Osfield
ab1b199da8 Removed the now redundent osg::Camera. 2003-05-20 08:09:36 +00:00
Robert Osfield
57af40ee95 Updates to the handling of vertex attributes. 2003-05-09 13:07:06 +00:00
Robert Osfield
173a09fb32 Added UserData to NodeVisitor. 2003-05-07 15:26:08 +00:00
Robert Osfield
cda2c90315 From Romano José Magacho da Silva, support for vertex attributes in vertex program. 2003-05-07 13:13:13 +00:00
Robert Osfield
fa0333b6fe Aded extra constructors to BlendFunc and Depth to help set them up convieniently.
Added a background quad to osghud.
2003-05-06 18:04:27 +00:00
Robert Osfield
06054d9520 Added support for multibuffering of tex coordinates. 2003-05-06 13:13:31 +00:00
Robert Osfield
895a722842 Addd support for maximum screen text size into osgText when auto scale to
screen is active.

Added osgautotransform demo.
2003-05-01 21:06:18 +00:00
Robert Osfield
0ab467483f Added support for automatic scaling of text to screen coords. Optimized
the text implementation to provide better speed, especially by using the
alignement to screen option.

Deprecated the Text::setFontSize(,) method, which is now being replaced
by setFontResolution(,)

Fixed typos in Texture*.cpp.

Removed old deprecated methods from osg headers.
2003-04-30 11:40:17 +00:00
Robert Osfield
c1b1a091fa From Tree, addition of ; after MACRO_'s to help with Java port.
From Tree + Robert, Addition of LEFT_BASE_LINE,RIGHT_BASE_LINE,CENTER_BASE_LINE
Alignment options in Text.
2003-04-27 10:58:39 +00:00
Robert Osfield
0b0c6c4e60 Added support for set/getColor to ShapeDrawable. 2003-04-16 20:02:15 +00:00
Robert Osfield
3df0401007 Addd new computeLocalToWorld(NodePath) etc methods. 2003-04-14 13:22:21 +00:00
Robert Osfield
5ecc25540c From Michael Gronager, changed apply(Sequence) to cast to an Group rather than
a Switch which was a bug.
2003-04-13 12:02:29 +00:00
Robert Osfield
50d1fcfea2 From Romano, added support in osg::VertexProgram for deleting the flushed
vertex programs.
2003-04-11 09:54:27 +00:00
Robert Osfield
aaa761e333 Added tests for presense of extensions to osgcubemap, osgvertexproram and
osgmultitexture examples.

Added osg::VertexProgram::Extensions class to better handle multiple graphics
context vertex program extensions.
2003-04-10 19:32:32 +00:00
Robert Osfield
8b03d59be3 Added support for modifying the osg::Texture*:Extensions stuctures.
Added an example modifying osg::Texture::Extensions to osgtext.  Optionally
compiled out by default.
2003-04-10 13:41:45 +00:00
Robert Osfield
22546b8085 Added support for multiple graphics context to osg::VertexProgram and osg::Impostor 2003-04-10 12:11:40 +00:00
Robert Osfield
2166f9b701 Fixes to the Impostor implementation. 2003-04-09 21:53:09 +00:00
Robert Osfield
b02917e7a2 Fixed type of osg::ApplicationUsage::set/getApplictionName(), updated
demos accordingly.

Made OsgCameraGroup set the _applicationUsage to the
osg::ApplicationUsage::instance() when no ArgumentParser is supplied.

Added export to osgProducer::ViewerEventAdapter.
2003-04-09 08:20:08 +00:00
Robert Osfield
559f5f93e5 Added an osg::absolute template function into osg/Math. 2003-04-08 09:42:03 +00:00
Robert Osfield
7af174fadb From Ulrich Hertlien, new osg::TextureRectangle class. 2003-04-07 13:20:53 +00:00
Robert Osfield
9f0fa75484 Added support for unref image data after apply in the osg::Texture*
classes.  Only unref's after all graphics context have been applied.
2003-04-07 12:51:00 +00:00
Robert Osfield
7e58786b11 Moved the modified tag's from osg::Texture into the osg::Texture1D,2D,3D and
CubeMap classes.
2003-04-07 09:46:06 +00:00
Robert Osfield
49a28660dc Added the usage report to the examples for when no arguments are passed
to the examples.
2003-04-06 21:32:44 +00:00
Robert Osfield
e1e22ab430 Added GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB etc to the Texture header to
allow compilation across platforms.
2003-04-02 20:43:19 +00:00
Robert Osfield
0f3eaeba46 From Rune Schmidt Jensen - new dds loader. 2003-04-02 18:26:34 +00:00
Robert Osfield
5b36049f33 Added convinience constructor. 2003-04-01 18:42:38 +00:00
Robert Osfield
3975fc9b01 Improved handling of subloading.
Removed the rescalling of images in osg::Image during texture apply, moving
the rescale so it is locally calculated.  This solves an outstanding threading
problem which occured by multiple draw threads all tried to rescale the same
image at one time.

Made osg::Image ptr in osg::Texture2D non mutable as it is no longer modified
during apply.
2003-04-01 11:49:09 +00:00
Robert Osfield
b728b1dd99 Implemented load and subload methods in osg::Texture/Texture2D. 2003-03-31 21:41:17 +00:00
Robert Osfield
3fe1313ad9 Adding reseting of the array pointers to the dirty methods. 2003-03-31 11:25:04 +00:00
Robert Osfield
8779fe20a7 Added help support for display help on screen to osgProducer::Viewer. 2003-03-26 12:50:30 +00:00
Robert Osfield
a3bb1da618 Added Endian test header to the core osg, and add use of the new
getCpuByteOrder test in LightPointDrawable.
2003-03-19 21:46:44 +00:00
Don BURNS
e978c405e1 Set VERSION_RELEASE back to 3, replaced guards in include/osg/Verson to
OSG_VERSION_ with trailing underscore
2003-03-18 20:02:02 +00:00
Robert Osfield
bf184ef7a3 From Tree, added SG_EXPORT to the inner classes for Java binding work. 2003-03-18 19:42:34 +00:00
Robert Osfield
33ad8d8cb0 From Tree, ushort renamed GLushort 2003-03-18 09:29:06 +00:00
Robert Osfield
e87a08f1c3 Fixes to osgcluster demo as new Producer based example.
Added extra pragrma remove a warning about float to int cast under VS.NET.
2003-03-16 21:58:27 +00:00
Robert Osfield
2ca505b3d8 Ported all glut based demos across to using the new osg::ArgumentParser. 2003-03-14 10:49:06 +00:00
Robert Osfield
2915550887 Reverted Don's changed of sqrtf to sqrt. Don't understand why the change was
required, suggest a problem elsewhere which should be fixed, *not* by modification
of Vec2.
2003-03-13 14:29:16 +00:00
Don BURNS
ec3e1dc611 Fixes for Mac OS X 2003-03-13 06:22:31 +00:00
Robert Osfield
b0dce04063 Added setBound() method to Drawable. 2003-03-11 21:53:28 +00:00
Robert Osfield
e51c7f1587 Added support for AbortRendering flag pointer in osg::State which is used
by osgUtil::RenderLeaf to test if any abort state has been set, if so it
doesn't do any further drawing.

The osgProducer::Viewer has been set up to set the osg::State's it manages
with their AbortRendering flag pointers set to the osgProducer::Viewer::_done
memeber varaible.  Now when escape is pressed the rendering is aborted early.
2003-03-11 15:25:49 +00:00
Robert Osfield
78de76f17f Bug fixes to osgText to handle the osgUtil::Optimizer being used on a scene
graph containing text.

Fixed warning in MD2 plugin.
2003-03-11 13:30:03 +00:00
Robert Osfield
06fb808ad3 Improvements to the Text .osg support. 2003-03-10 16:40:26 +00:00
Robert Osfield
152e60c61b Reverted the changes to ref_ptr<> for implicit cast to pointer. 2003-03-06 19:41:59 +00:00
Robert Osfield
fab6f24f4e Changed the osgText::Font implementation so it used a facade us abstract away
the actual implemention. This has been done so that when a freetype font is
created the implementation can unloaded when the freetype plugin is unloaded
without breaking the main font.

Also add image margin around founds to prevent any image boundaries appearing.
2003-03-06 17:11:24 +00:00
Robert Osfield
0d9aaa5ca6 Reverted the ref_ptr<> implementation to prior implicit cast operator via
commenting out// #define AUTOMATIC_CAST_TO_POINTER.
2003-03-06 13:45:20 +00:00
Robert Osfield
b70c80ba39 Add #ifndef's around the comparison operator's against const T* now that the
implicit cast operator has been added.
2003-03-06 10:38:31 +00:00
Robert Osfield
f9d8f3fa9d Added implicit cast to T* to ref_ptr<>. 2003-03-05 21:04:11 +00:00
Robert Osfield
5e396d40e1 Made the State::setInterleavedArrays method use a const GLvoid*. 2003-03-05 21:02:37 +00:00
Robert Osfield
55c25a551b Added support for using the generate mip map extension within osgText. 2003-03-04 15:47:28 +00:00
Robert Osfield
1c34c0981e Further improvements to osgText and the freetype plugin, handling different
font sizes better and plugin removal safely.
2003-03-04 12:34:42 +00:00
Robert Osfield
fbe674b321 First cut of new osgText implementation. 2003-03-02 21:05:05 +00:00
Robert Osfield
b32c8c65f3 Added osg::Image::AllocationMode enum and associated set/get methods.
osg::Image::setImage has also been modified to require the AllocationMode
mode to be passed to it so that it knows how to delete the data once the
image goes out of scope.

Port the image plugins across to specify the new AllocationMode, and converted
them across to using new/delete in place of malloc/free.
2003-02-25 11:56:18 +00:00
Robert Osfield
7877c55770 Implemented an osg::minimum and osg::maximum template functions to replace
the std::min/max functions previously used in parts of the osg, since the
std::min/max methods do not seem implemented under IRIX.
2003-02-24 12:02:00 +00:00
Robert Osfield
5471ada6da Fixes to try and keep OSX and Win32 compiling with the new usage of std::max. 2003-02-23 15:50:57 +00:00
Robert Osfield
73f741d16f Completed first pass at providing commandline option usage via the new
osg::ArgumentPareser and osg::ApplicationUsage classes. The osgproducer
demo has been implemented using these new mechansims.
2003-02-18 21:58:40 +00:00
Robert Osfield
c10d5f2d6f Added new osg::ApplicationUsage and osg::ArgumentParser to help streamline
application/example developement.
2003-02-18 16:36:42 +00:00
Robert Osfield
44f88715ae MOre work on uint -> unsigned int. 2003-02-14 19:47:59 +00:00
Robert Osfield
77fee92d71 Renamed futher uint/ushort instances. 2003-02-14 16:52:47 +00:00
Robert Osfield
bd506b53da Removed last of the uint references. 2003-02-14 11:41:52 +00:00
Robert Osfield
8f1ba9d21b Removed include/osg/Types header defining osg::ubyte, osg::ushort etc. Changed
any reference to these in the distribution across to using unsigned char,
unsigned short etc.  This has been done to keep the OSG code more opaque
to what types are.
2003-02-12 19:20:47 +00:00
Robert Osfield
6c4f2f5207 Fixes for multipipe support.
Addition of FrameStatsHandler to osgproducer demo to add frame stats.
2003-01-29 17:16:26 +00:00
Robert Osfield
0d4e969746 Added support for osg::Transform::asMatrixTransform, asPositionAttitudeTransform
and as DOFTransform.
2003-01-24 09:37:56 +00:00
Robert Osfield
20ba1a4033 Fix for impostors bug where image insert were visible, this was down to a double
call to RenderStage::drawPreRenderStage().  The call to it in RenderStage inside
the draw() method has been removed, leaving on the call in SceneView.
2003-01-24 09:11:05 +00:00
Robert Osfield
48bda9cc79 Added new Copyright/License notice to header and source files. 2003-01-21 16:45:36 +00:00
Robert Osfield
0f69a4c3ae Made the drawable::compile(State&) method const and the DisplayListVisitor to
compile even when dislay list is off.  This has been done to allow subclasses
of Drawable handle their own compile implementation, such as used by text.
2003-01-20 20:40:06 +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
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
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
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
c882283b5d Typo fix if USE_HOME_POSITION. 2003-01-13 20:14:23 +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
ba34880464 Added support for reading and writing Sphere, Box, Cone, Cylinder and Grid shapes. 2003-01-08 14:32:13 +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
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
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
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
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
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
Robert Osfield
26ba223880 Added isImageTransulacent() method. 2002-11-25 16:38:33 +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
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
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
55b2a5ff30 From Gideon May, fixes to remain const base type instances in headers. 2002-10-25 12:29:03 +00:00
Robert Osfield
054fd3877c Fixed spelling mistake in comment. 2002-10-21 13:03:02 +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
16291da3b0 Fixes to smoothing visitor and tesselator to handle indexed Geometry. 2002-10-09 15:43:56 +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
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
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
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
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
8a061e80e1 Added std:: infront of ends references. 2002-08-30 13:38:22 +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
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
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
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