Commit Graph

1112 Commits

Author SHA1 Message Date
Robert Osfield
d4cfaae406 Fixed typo's of ImpostorSprite 2004-01-13 09:47:50 +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
d072e1087c Added support for controlling the LODScale via '*' and '+' keys in
osgProducer::Viewer.
2004-01-10 21:29:15 +00:00
Robert Osfield
23443aa5db From Alberto Farre, added osgDB::SharedStateManager. Also a couple of
ammendments by Robert Osfield, adding get/setSharedStateManager()
methods into osgDB::Registry, and clean up fixes in SharedStateManager
for the StateSet arrays.
2004-01-10 17:13:20 +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
2f918d62d7 Added DatabasePager::setUseFrameBlock(bool) method 2004-01-07 12:37:44 +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
894537a016 Simplified the API for using the DatabasePager, by providing a single
DatabasePager::updateSceneGraph(..) method, and added a ref_ptr<> into
osDB::Registry for managing a single DatabasePager in a centralised way.
2004-01-06 21:18:36 +00:00
Robert Osfield
413064fc6e Added support for priority offset and scale into PagedLOD. 2004-01-05 20:45:28 +00:00
Robert Osfield
f230f5a132 Added support into osgProducer::Viewer for flushing and compiling GL objects
via a Producer post swap callback.
2004-01-05 13:40:36 +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
249eddb3d8 Updates to osgGL2 from Mike Weiblen 2004-01-03 09:06:52 +00:00
Robert Osfield
458e10c796 Fixed getFogCoord methods 2004-01-02 20:44:18 +00:00
Robert Osfield
401c3ec45d From Geof Michel, addition of TESSELATE_GEOMETRY pass. 2003-12-27 22:17:25 +00:00
Robert Osfield
fdd5a72115 Added extra clampProjectionMatrix methods to handle both Matrixd and Matrixf
pathways.
2003-12-21 13:11:36 +00:00
Robert Osfield
fd9777101c *** empty log message *** 2003-12-20 14:20:48 +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
6bdbe942b1 From Marco Jez, fixes to osgFX so that effects are compiled correctly.
Fixed title name of osgkeyboardmouse example.
2003-12-16 23:43:37 +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
1158e4605d Added support for updating the SceneView projection matrix from the values
of near and far computed during the cull traversal.
2003-12-15 23:23:45 +00:00
Robert Osfield
0cbe10d399 From Michael Gronager, with updates from Robert Osfield, to add support
for Registry::closeAllLibrary and forced Registry destruction via
Registry::instance(true).
2003-12-13 16:36:29 +00:00
Robert Osfield
4c95f0db1f Fixed typo of s/getUpdateVisitor(). 2003-12-12 20:33:36 +00:00
Robert Osfield
7e012ccfc4 Renamed PermissableOptions to setPermissableOptimizations. 2003-12-11 23:33:27 +00:00
Robert Osfield
1881610a35 Added support for controlling what optimization operations can be applied
to specific nodes in the scene graph.  Typical use would be tagging a
node so that it can't be optimized away in say a flatten static transform
pass.  Added methods to Optimizer are:

        inline void setPermissableOptionsForObject(const osg::Object* object, unsigned int options)
        {
            _permissableOptionsMap[object] = options;
        }

        inline unsigned int getPermissableOptionsForObject(const osg::Object* object) const
        {
            PermissableOptionsMap::const_iterator itr = _permissableOptionsMap.find(object);
            if (itr!=_permissableOptionsMap.end()) return itr->second;
            else return 0xffffffff;
        }

        inline bool isOperationPermissableForObject(const osg::Object* object,unsigned int option) const
        {
            return (option & getPermissableOptionsForObject(object))!=0;
        }
2003-12-11 23:26:22 +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
5011d994e8 Added a special AvailablerReaderWriterIterator class to handle the task
of iterating through the list of available reader writer, whilst handling
cases where the list itself changes size during iteration through the list.
Previous size changes during iteration was cause invalid iterators, which
in turn was causing a crash.
2003-12-10 15:24:14 +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
f5a79aec4e Added get() method to ReaderWriterProxy class to allow the readerwriter to
be obtained once its constructed.
2003-12-09 12:07:41 +00:00
Robert Osfield
6d5eb79804 Addition of Mode mode=MODULATE constructor. 2003-12-09 12:05:50 +00:00
Robert Osfield
bbde1b2ae7 Fixes for optional compile of GL_LUMINANCE_ALPHA and GL_ALPHA texture usage
in fonts.  Default to GL_ALPHA.
2003-12-09 12:04:14 +00:00
Robert Osfield
4c3f6004df Moved osgText across to create GL_ALPHA textures instead of GL_LUMINANCE_ALPHA 2003-12-09 11:31:33 +00:00
Robert Osfield
393f1580c8 From Pavel Moloshtan, extension support for ARB_occlusion_querry 2003-12-09 11:20:44 +00:00
Robert Osfield
83bf813e58 Moved the responsibility for finding file to load on to the ReaderWriter plugins,
instead of osgDB::Registry where it original lay.  This has been done to allow
fileName strings to be encode data rather than just file names, such as one
requires when using PagedLOD along with plugins for doing dynamic tesselation.
2003-12-08 11:24:43 +00:00
Robert Osfield
75174c1be1 Changed the minium tri strip length to 2 rather than 0. 2003-12-05 22:42:02 +00:00
Robert Osfield
3f14b9a653 Added code for combining adjacent static MatrixTransforms 2003-12-05 14:39:32 +00:00
Robert Osfield
1046c73731 Fixes for Win32 build. 2003-12-05 14:39:09 +00:00
Robert Osfield
f9fcffd9cd Added optional TraversalMask paramter to computeIntersections() methods. 2003-12-04 09:43:34 +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
3c9d1e0603 Added a spatializer into osgUtil to create a balanced quad/oct tree. 2003-12-01 10:28:23 +00:00
Robert Osfield
4f71f1becd From Qing Shen, addition of computeIntsect methods which take a
node pointer to intersect with rather than assume the viewer's scene pointer.
2003-11-28 13:41:10 +00:00
Robert Osfield
f2da687d0f Standardised the tabbing so that 4 spaces are used instead of hardware tabs. 2003-11-27 22:06:11 +00:00
Robert Osfield
2353d55697 From Michael Gronager, osgSim::VisibilityGroup 2003-11-27 16:23:07 +00:00
Robert Osfield
e7f9a51f0f Updates to osgdem + BoundingBox to support graph iterators 2003-11-27 15:13:55 +00:00
Robert Osfield
091151e4ce Warning fix from Romano 2003-11-26 16:43:28 +00:00
Robert Osfield
148c24d69c Changed SG_EXPORT to OSGSIM_EXPORT. 2003-11-26 11:01:12 +00:00
Robert Osfield
023d2254ab Early development work on osgTerrain. 2003-11-25 19:42:35 +00:00
Robert Osfield
7bebda5e4d Added OSGSIM_EXPORT to scalarbar::printer 2003-11-25 19:25:42 +00:00
Robert Osfield
953bbd85e8 Tweaked MultiSwitch IO 2003-11-25 16:07:32 +00:00
Robert Osfield
72ba462251 Added osgSim::MultiSwitch and support for it in the OpenFlight and
.osg plugins
2003-11-25 15:58:57 +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
845adb8745 Reorganised posstion of getViewMatrix*() methods. 2003-11-25 10:55:37 +00:00
Robert Osfield
78a0fd5a16 Added support for case insenstive searches of the filepaths. 2003-11-25 09:04:41 +00:00
Robert Osfield
709e1de9c8 Removed newline from top of header 2003-11-21 16:19:07 +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
bddd49c86a Changed the credit from NVidia's NvTriStrip to Tanguy Faure's traingulation code. 2003-11-14 09:25:17 +00:00
Robert Osfield
5fb06a1d77 Moved the getTime to inside the locked part of the add events. 2003-11-12 10:13:31 +00:00
Robert Osfield
8bbbd1fc70 Made getWidth and getHeight const. 2003-11-07 09:00:22 +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
bbc55c14fd Added osgText::Text::getTextureGlyphQuadMap(). 2003-11-04 13:40:24 +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
594f25b5d1 Added SceneView::s/getDrawBufferValue(GLenum) to allow customization of what
glDrawBuffer() value is set on each frame.
2003-10-17 10:25:59 +00:00
Robert Osfield
ea04f48251 Moved Producer::Block temporarily into osgDB to ensure that osgDB isn't dependent
on Producer.
2003-10-12 14:51:54 +00:00
Robert Osfield
42eb39ef37 Improvements to the DatabasePager 2003-10-12 12:13:58 +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
83816dac04 Added ImageOptions for use with the GDAL plugin 2003-10-08 14:24:13 +00:00
Robert Osfield
5c17b5059a From Mike Weiblen, added support for OpenGL SL to osgFX::Cartoon. 2003-10-05 11:42:26 +00:00
Robert Osfield
ce15c880b1 From Mike Weiblen, updates to osgGL2 to support Uniform values 2003-10-05 11:30:54 +00:00
Robert Osfield
82143f7553 Added osgDB::Registry::s/getUseObjectCacheHint() 2003-10-02 13:26:01 +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
facbdcf43b Added addEntryToObjectCache method to osgDB::Registry 2003-10-01 13:12:25 +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
243b288d87 Made the calling of drawable update callbacks always happen when a geode
is traversed in the update traversal.
2003-09-24 18:53:47 +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
c342b29a04 Warning fixes for Win32. 2003-09-16 19:56:19 +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
a2f9222753 Added support for handling of wordwrap in osgText::Text, so that whole words
are cut in two, but rather moved completely to the next line.
2003-09-15 21:43:54 +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
584f805327 Updates to osgFX, from Marco Jez, to map Effect across to being derived
from osg::Group rather than from osg::Node.
2003-09-09 11:54:05 +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
507c9c4cf2 Fixes from Marco. 2003-09-06 11:07:05 +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
9a5ab0ac47 Fixes for IRIX build. 2003-09-03 08:14:00 +00:00
Robert Osfield
4761442005 Merged changed to osgParticle from Marco Jez, the changes are (quoted from
email from Marco)

"Most relevant news:
1) particle systems now have the "freezeOnCull" property set to false by
default. Since it is an optimization, and using it may cause some unwanted
behaviors if not handled properly, it makes more sense to turn it off by
default.
2) new "LINE" shape mode which uses GL_LINES to draw line segments that
point to the direction of motion.
3) particles can now have a rotation angle and angular velocity.
4) new AngularAccelOperator applies angular acceleration to particles.
5) particle processors such as emitters and programs can have a "start",
"end" and "reset" time coordinate. For example, an emitter may be instructed
to start emitting particles only after a certain time, stop after another
amount of time and then start again.

Update (2) is from Gideon May.
Updates (3) to (5) are from Douglas A. Pouk."
2003-09-02 20:39:41 +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
da6f7ebeef Fixes for IRIX build + to_unix on txp plugin files. 2003-09-02 10:27:57 +00:00
Robert Osfield
7575f45800 Support for BumpMapping added by Marco Jez. 2003-09-01 21:53:53 +00:00
Robert Osfield
73094265c3 Fixes for Win32. 2003-09-01 15:46:10 +00:00
Robert Osfield
144ac14b07 From Neil Salter, added osgSim::SphereSegment and osgSim::ScalarBar, and
osgspheresegment and osgscalarbar, and osgsimulation examples.
2003-09-01 09:36:03 +00:00
Robert Osfield
5c3a2bc683 Added s/getCullVistorLeft/Right(), s/getRenderStageLeft/Right(),
s/getRenderGraphLeft/Right() methods.
2003-08-29 23:04:42 +00:00
Robert Osfield
77c862d305 From Marco Jez, tangent space generator. 2003-08-27 14:13:12 +00:00
Robert Osfield
2910ec140d Added KeyboardMouseCallback::shutdown() support. 2003-08-27 10:22:12 +00:00
Robert Osfield
f7d7a746f3 Added missing osgFX files. 2003-08-26 22:09:15 +00:00
Robert Osfield
e07c1ea10d Added set/getDatabasePager() method. 2003-08-26 08:02:43 +00:00
Robert Osfield
4924cd9ceb Added osgProducer:: in front of KeyboardMouseCallback. 2003-08-25 14:03:49 +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
db9b6d10c6 Add osg_ref<Producer::KeyboardMouse> to osgProducer::Viewer to ensuer that
the keyboard mousr desctructor is being called correctly.
2003-08-23 20:48:36 +00:00
Robert Osfield
12133c6db5 Made getLibrary public. 2003-08-21 19:23:24 +00:00
Robert Osfield
02561a96c7 Compile/Warnings fixes. 2003-08-21 14:26:40 +00:00
Robert Osfield
1a68dd80d7 Added explicit calls cancel and wait until thread and no longer running to the
DatabasePager and TXP pager.
2003-08-20 12:52:33 +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
e2a72f7e72 Fixed typo of getNumMatrixManipulators(). 2003-08-19 14:05:53 +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
e95768417c From Gideon May, added support for osgSim into .osg file format. 2003-07-23 14:06:32 +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
2bce4dda75 Made BlinkSequence subclass from osg::Object. 2003-07-22 12:48:31 +00:00
Robert Osfield
31115ffd2d Changed the Sector classes so they are derive from osg::Object to allow them
to be shared objects with the .osg support.
2003-07-22 10:33:56 +00:00
Robert Osfield
aa8b552ca6 From Marco, updates to osgDB and .osg plugin to better handle reading of
objects of specified types.
2003-07-21 18:36:47 +00:00
Robert Osfield
325dc0f6b7 Moved DatabasePager into from osgProducer into osgDB. This means that osgDB
is now dependant on OpenThreads.
2003-07-21 08:19:36 +00:00
Don BURNS
56a13abc05 Updated OSG to use OpenThreads. Moved any references to OpenThread to
OpenThreads and removed any dependency on Producer threads, Mutexes, etc.
2003-07-19 00:18:07 +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
a0d0803f1f Improvements to the handling of deletion of OpenGL rendering objets such as
display lists and textures object such that they can be deleted according
to an available amount of time given to do deletes.
2003-07-16 09:52:43 +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
0fd11b4abd Added extern + export's to global functions. 2003-07-15 18:52:40 +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
deb26621c9 Changed the SceneView::setModelViewMatrix() methods across to being setViewMatrix().
The old RefMatrix methods for setModelViewMatrix() and setProjectMatrix() have
been removed to keep the API as minimal as possible.
2003-07-15 11:49:56 +00:00
Robert Osfield
77c0366cb2 From Mike Weiblen's osgGL2 node kit which support the latest OpenGL 2.0 extensions. 2003-07-15 10:45:46 +00:00
Robert Osfield
b2e5e09c28 From Bart Gallet, updates to VisualStudo .dsp's to keep things compiling under Windows. 2003-07-15 09:39:45 +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
5b75d7f525 From Michael Gronger, addition of ReaderWriter* Registry::getReaderWriterForExtension(const std::string& ext).
Also removed copy constructor and = operator from Ouput as it was produce
spurious warnings under gcc 3.3.
2003-07-10 13:35:19 +00:00
Robert Osfield
9c5f84e99e From Eric Sokolosky, insertChild(). 2003-07-10 13:11:25 +00:00
Robert Osfield
c5c7a1b2ba Updates to the DatabasePager code to include support for compiling texture
objects and display lists before merging loaded subgraphs with the main
scene graph.
2003-07-10 11:10:39 +00:00
Robert Osfield
809168d5f8 Further updates to the DatabasePager. 2003-07-09 19:48:04 +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
8d4ab4668e From Tree, updates to osgText and freetype plugin to support are kerning paramter. 2003-06-26 16:21:49 +00:00
Robert Osfield
8839cfe8cd Updated NEWS.
Added AttrData.h to flt.dsp

Removed redundent (and duplicate definition of RenderBinPrototypeList and its
associated static) from the RenderBin header.
2003-06-25 10:30:46 +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
7b657aed3a Adding support using istream and ostream with the reader writers. 2003-05-26 09:27:16 +00:00
Robert Osfield
efa16a34c5 Fixes to the Optimizer's handling of merging of osg::Geometry 2003-05-22 15:29:20 +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
4e9724245a Added setProjectMatrix(const Matrix&) and setModelViewMatrix(const Matrix&) methods. 2003-05-20 11:01:16 +00:00
Robert Osfield
ab1b199da8 Removed the now redundent osg::Camera. 2003-05-20 08:09:36 +00:00
Robert Osfield
00e94b86d8 Removed all KeySwitchCameraManipulator class, replacing it
with the KeySwitchMatrixManipulator
2003-05-19 20:18:37 +00:00
Robert Osfield
940ce67133 Removed remaining dependancies on osg::Camera. 2003-05-19 15:15:17 +00:00
Robert Osfield
6b64cd88b8 Removed superfluous const 2003-05-17 08:36:25 +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
ba8bf1e94c From Eric Sokolowsky, support for mouse scroll wheel in osgGA/osgProducer. 2003-05-07 11:13:49 +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
d2d9b97953 Added set/getNearFarRatio() to CullVisitor. 2003-05-01 19:56:02 +00:00
Robert Osfield
9468ab4979 Cleanup of the API. 2003-04-30 15:38:11 +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
9329717aa0 Moved #include <osg/Timer> from Viewer to OsgCameraGroup. 2003-04-17 15:27:17 +00:00
Robert Osfield
fd262554ac Moved the managing of frame stamp from osgProducer::Viewer into
osgProducer::OsgCamaraGroup.

Added setting of trackball in osgcameragroup so its starts in the
correct place for different models.
2003-04-17 11:14:25 +00:00
Robert Osfield
f759f7e69e Added OSGUTIL_EXPORT to front of DelaunayTriangulator class. 2003-04-17 06:52:56 +00:00
Robert Osfield
0b0c6c4e60 Added support for set/getColor to ShapeDrawable. 2003-04-16 20:02:15 +00:00
Robert Osfield
cad160fbe6 From Marco Jez, added DelaunayTriangulator class. 2003-04-16 19:21:27 +00:00
Robert Osfield
2e659c9ebf Renamed computeNearFar to computeNearFarPoints. 2003-04-16 14:22:36 +00:00
Robert Osfield
904aceec22 Added convinence methods to osgProducer::Viewer:
/** compute, from normalized mouse coords, for sepecified Camera, the pixel coords relative to that Camera's RenderSurface.*/
        bool computePixelCoords(float x,float y,unsigned int cameraNum,float& pixel_x,float& pixel_y);

        /** compute, from normalized mouse coords, for sepecified Camera, the near and far points in worlds coords.*/
        bool computeNearFar(float x,float y,unsigned int cameraNum,osg::Vec3& near, osg::Vec3& far);

        /** compute, from normalized mouse coords, for sepecified Camera, intersections with the scene.*/
        bool computeIntersections(float x,float y,unsigned int cameraNum,osgUtil::IntersectVisitor::HitList& hits);

        /** compute, from normalized mouse coords, for all Cameras, intersections with the scene.*/
        bool computeIntersections(float x,float y,osgUtil::IntersectVisitor::HitList& hits);
2003-04-16 14:17:49 +00:00
Robert Osfield
f9eb43083a Changed OsgSceneHandler so it re-uses osgUtil::SceneView project and modelview
matrices.

Changed the osgpick demo so that it uses the OsgSceneHandler's projection and
modelview matrices where possible.
2003-04-16 09:22:33 +00:00
Robert Osfield
fc4a2ab191 Added support for multiple cameras into osgpick. 2003-04-15 20:54:10 +00:00
Robert Osfield
63628ce099 From Romano, extra methods/variables for controlling tesselation. 2003-04-15 09:33:11 +00:00
Robert Osfield
5df7118d6d Updates to the osgpick code.
Updates to osgGA::CameraManipulors.
2003-04-14 15:44:30 +00:00
Robert Osfield
f543d69881 Improved the handling of Producer's no dimensional mouse coords. 2003-04-14 13:23:12 +00:00
Robert Osfield
3df0401007 Addd new computeLocalToWorld(NodePath) etc methods. 2003-04-14 13:22:21 +00:00
Robert Osfield
026dc2cbb7 Added Geoff Michel's osgpick and osgUtil::PickVisitor code. 2003-04-13 13:26:41 +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
52d2d8eaff Moved the osgcameragroup example across to being just based on
osgProducer::OsgCameraGroup with no usage of osgGA manipulators.

Removed redundent files from osgProducer.
2003-04-10 15:23:49 +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
bc4fd5b051 Added usage of Producer::CameraGroup::isValidForRendering() to the Viewer::done()
implemention so apps automatically close if one of the windows is killed.
2003-04-10 12:55:48 +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
e1e54570cb Fixed Viewer and OsgCameraGroup classes so that work properly with the
Prodicer::setViewByMatrix calls.
2003-04-10 10:02:24 +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
c3fd384eb1 From Romano José Magacho da Silva, added 'p' toggle to animation path
manipulator to allow animations to be paused and resumed.

Added frame rate stats which are output on each repetition of the path.
2003-04-08 20:06:37 +00:00
Robert Osfield
8a3d731739 Added support for Viewer::setViewer::setView so that the internal old
style osg::Camera and camera manipulators are updated correctly.
2003-04-08 15:47:45 +00:00
Robert Osfield
e928bca4c9 Changed the Viewer::realize() calls across to not using the threading paramter
leaving it up to the Viewer to specify the mode (which by default is MultiThreaded).
Added a check for the presence of osgParticle systems so that threading is
disabled in this case.
2003-04-08 15:18:45 +00:00
Robert Osfield
5f8411ac5c Changed the KeySwichCameraManipulator::setNode() so it set all camera's
attached to it.
2003-04-08 13:10:47 +00:00
Robert Osfield
559f5f93e5 Added an osg::absolute template function into osg/Math. 2003-04-08 09:42:03 +00:00
Robert Osfield
18ab95a294 Added support for snaping screen images from osgProducer::Viewer apps. 2003-04-07 19:19:01 +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
c7a7bd03cb Added support for recording animation paths in the osgProducer::Viewer. 2003-04-05 22:24:48 +00:00
Robert Osfield
cac6642de5 Improvements to the handling of warp pointer call on start up. 2003-04-05 07:19:40 +00:00
Robert Osfield
169bf25f77 Implemented support for float x and y mouse positions, and normalization of
mouse coords in osgGA::GUIEventAdapter, and ported osgGA camera manaipulators
to use the new normalized values.

Moved osgProducer across to tracking the window dimensions and ensure that the
internals values in osgProducer::EventAdapter are kept consistent.  Moved
the warp pointer in Viewer across to using KeyboardMouse::positionPointer().
2003-04-04 19:10:37 +00:00
Robert Osfield
e9e0b4304d Improved support for toggle between full screen and non fullscreen in
the osgProducer::Viewer.
2003-04-04 11:06:09 +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
7aab621405 Added support for min pixel size, max pixel size and max visable distance to
osgSim::LightPointNode, the max pixel size from was originally in osg::LightPoint.

Added additional get/set methods to osg::LightPointNode.

Increased the compute pixel size by a ratio 1.41 (sqrtf(2)) to correlate the
computed size with the actual size seen on screen.
2003-04-02 10:50:15 +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