Commit Graph

154 Commits

Author SHA1 Message Date
Robert Osfield
ff195bddf5 Added Object::resizeGLObjectBuffers(uint) method to help improve the ability
to change the number of active graphics contexts on the fly during an applications
life.
2007-01-04 14:11:51 +00:00
Robert Osfield
d0cc014f1b Further migration to using RenderInfo 2006-11-14 12:51:31 +00:00
Robert Osfield
8e3a092a00 Removed the redundent relaseGLObjects() method declerations 2006-10-03 20:42:57 +00:00
Robert Osfield
e0599f652e Added releaseGLObjects to NodeCallbacks, Drawable::DrawCallbacks and wired up
osgProducer to use it when doing cleanup_frame.
2006-10-02 15:38:31 +00:00
Robert Osfield
def74d3471 Introduced new osg::View, and osg::RenderInfo classes into the core OSG to help
handle scenes with multiple views with elements that need coordinating on a per view basis.

Added beginings of new osgText::FadeText class (not functionality yet).
2006-09-18 20:54:48 +00:00
Robert Osfield
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +00:00
Robert Osfield
93a425cafb From Eric Wing, removed trailing semi colonds from namespace end bracket. 2006-05-01 16:05:16 +00:00
Robert Osfield
8489b22439 From Gordon Tomlinson, spelling fixes. 2006-02-23 12:41:05 +00:00
Robert Osfield
7ea1c56b4c Fixed getBound() comment. 2006-02-22 20:51:26 +00:00
Robert Osfield
daefa1cae6 Added releaseGLObjects to PrimitiveSet. 2005-11-25 12:31:04 +00:00
Robert Osfield
97f6a82b1e From Leandro Motta Barros: fixed type of ATTRIBUTE_* 2005-09-28 13:55:22 +00:00
Robert Osfield
a5d64e5a77 Added getDisplayList access method 2005-08-09 10:48:26 +00:00
Robert Osfield
d35ea68f3e Renamed Byte2,3,4 and Short2,3,4 and UByte4 to use the Vec*b, Vec*s and Vec4ub form 2005-07-15 14:41:19 +00:00
Robert Osfield
1641cd7b54 From Pavel Moloshtan, added support of Drawable::Extensions::glDeleteQueries() 2005-06-16 13:53:52 +00:00
Robert Osfield
54abc6f471 Added IO support for new intialBound and callbacks to .osg, and initialBound to .ive 2005-05-12 14:48:56 +00:00
Robert Osfield
bf4d63f6ea Added new Node/Drawable::s/getInitialBound and Node/Drawable::s/getComputeBoundCallback
methods and reimplement computeBound so that it passes back a bounding volume rather
than modifying the local one.
2005-05-12 14:03:22 +00:00
Robert Osfield
d1a1b1d95c Added more comprehensive releaseGLObjects(State*=0) throughout Nodes,
Drawables,StateSet, and osgDB::Registry.

Added cleanup_frame() from to osgProducer::OsgCamerGroup to help with proper
clean of OpenGL objects before exit, and modified osgviewer, osghangglider,
osgwindows examples to do the extra frame call to cleanup_frame() before exit.
2005-05-07 20:47:09 +00:00
Robert Osfield
938d13ecc7 Improved the handling of update/event callbacks on Drawable and Geodes 2005-05-02 09:57:58 +00:00
Robert Osfield
a1bda0dab8 Added support for per context extension string.
Note, this required adding a unsigned int context ID to the osg::isGLUExtensionSupported(,)
and osg::isGLExtensionSupported(,) functions.  This may require reimplementation
of end user code to accomodate the new calling convention.
2005-04-26 13:15:27 +00:00
Robert Osfield
3c90a5f694 Added support notification of Drawable parents of StateSet that event/update callbacks have been called. 2005-04-26 09:58:19 +00:00
Robert Osfield
193c83cb9c Added ParentList's into StateSet, Uniform and StateAttribute in preparation for
providing update and event handling.
2005-04-24 21:04:54 +00:00
Robert Osfield
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
d268cf46fa Renamed SG_LIBRARY and SG_EXPORT macro's to OSG_LIBRARY and OSG_EXPORT 2005-04-11 17:14:17 +00:00
Robert Osfield
4fec031e6c Moved #include <osg/State> from header into .cpp to clean up build. 2005-04-11 15:17:24 +00:00
Robert Osfield
f8426a8ad8 Made supports(..) methods use support(const ...) 2005-03-18 02:42:59 +00:00
Robert Osfield
0f61af08bd Added support for new event visitor type into osgGA and osgProducer::Viewer,
and event callback into Drawable.
2005-02-25 14:02:48 +00:00
Robert Osfield
117c791a3b Added osg::BufferObject and a made a number associated to accomodate this
new class. osg::BufferObject wraps up OpenGL pixel and array buffer objects.
Currently implementation is work in progress.
2005-02-09 10:39:45 +00:00
Robert Osfield
46ce4c3df3 Added the full set of buffer object methods 2005-02-07 17:28:03 +00:00
Robert Osfield
b7bd8075de From, Leandro Motta Barros, Doxygen comments.
Ammendments by Robert Osfield, a few comment rewrites to better reflect API functionality/usage.
2005-02-02 15:08:55 +00:00
Robert Osfield
7e75997db0 From Leandro Motta Barros, doxygen comments 2005-01-27 13:15:21 +00:00
Robert Osfield
40632c97b0 From Tree, moved GL_ #define's out of osg namespaces 2005-01-07 19:00:40 +00:00
Robert Osfield
5747773096 From Tree, changes to better support Java binding generation 2004-09-28 09:14:04 +00:00
Robert Osfield
54b45ce3bc Updated to DatabasePager support 2004-09-21 21:33:52 +00:00
Robert Osfield
0d884d66eb Various improvements to database paing. 2004-09-21 17:26:08 +00:00
Robert Osfield
6b2e17fe14 Made update, cull and draw callbacks virtual to allow custom Drawable's
to there own specific extensions for handling callbacks
2004-09-10 08:26:53 +00:00
Robert Osfield
e278cc9d4c From Geoff Michel, spelling and typo fixes. 2004-08-31 14:08:12 +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
eec378a885 Moved the osg::ClusterCullingCallback into into own header and source file. 2004-06-07 15:05:22 +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
86dbbb2874 Added PrimitiveIndexFunctor for better support of TriangleIndexFunctor 2004-03-14 21:54:17 +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
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
393f1580c8 From Pavel Moloshtan, extension support for ARB_occlusion_querry 2003-12-09 11:20:44 +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
02561a96c7 Compile/Warnings fixes. 2003-08-21 14:26:40 +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
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
b5442ac835 Added support for the ARB_vertex_buffer_object into osg::Geometry. 2003-06-29 21:41:57 +00:00
Don BURNS
15f88f35b2 *** empty log message *** 2003-06-24 15:40:09 +00:00
Robert Osfield
57af40ee95 Updates to the handling of vertex attributes. 2003-05-09 13:07:06 +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
b0dce04063 Added setBound() method to Drawable. 2003-03-11 21:53:28 +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
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
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
8f81cf2ac6 Moved TriangleFunctor from Drawable into its own header file. 2002-12-16 17:00:05 +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
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
feeadcdec0 Removed deprecated API 2002-11-08 14:03:44 +00:00
Robert Osfield
6d09a50c6d Added shape drawable into dot osg plugin. 2002-11-07 08:49:12 +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
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
da84f9b4aa Added first cut of new primtive shapes support. 2002-10-30 13:27:15 +00:00
Robert Osfield
29e998c1f8 Removed inappropriate inline keyword from getOrCreateStateSet(). 2002-09-30 18:12:54 +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
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
Don BURNS
2b10b4c3df Fixed 69 occurance of 'Seperate' misspelling (should be 'Separate') 2002-08-29 03:22:27 +00:00
Robert Osfield
3cba9a52ef Updates NEWS file for 0.9.0 release.
Added default computeBound() implementation to osg::Drawable which uses
a PrimtiveFunctor to compute the bounding box in a generic way, that
will work for all Drawable subclasses that implement the accept(PrimitiveFunctor&).
2002-07-18 22:35:54 +00:00
Robert Osfield
ff8b4c001d Rewrote the osg::Drawable::AttributeFunctor and PrimtiveFunctor to make
them more consistent with each other. This does mean an API change, so
dependanct code in the OSG has been updated accordingly.
2002-07-18 15:36:14 +00:00
Robert Osfield
8036901ea1 Rewrote osg:Statistics so that it is PrimitiveFunctor as is now completely
decoupled from osg::Drawable.  The Drawable::getStats() virtual method
no longer exists.

Updated the Viewer to use the osg::Statistics incarnation and reformated stats
to clean it up.
2002-07-18 14:20:01 +00:00
Robert Osfield
3a964a6b93 Updated docs and added osgGA 2002-07-16 20:07:32 +00:00
Robert Osfield
5d18f0ee11 Tidied up the types in osg::GeoSet so that the index pointers use GLushort
and GLuint to get round compile issues under MacOSX.
2002-07-10 22:33:08 +00:00
Robert Osfield
8b1e9345df Updates to osg::Drawable::AppCallback and osgprerender demo. 2002-07-10 20:30:57 +00:00
Robert Osfield
27338f57b1 Added app callback to Drawable. 2002-07-10 15:35:47 +00:00
Robert Osfield
0c943945f7 Implemented most of the changes required for supporting multitexturing in
the osg::State/osg::StateSet/osg::StateAttribute and related classes.
2002-07-09 09:35:42 +00:00
Robert Osfield
0801b363f5 Work on supporting multitexturing in State/StateSet/StateAttribute/Geoemtry. 2002-07-07 14:40:41 +00:00
Robert Osfield
5957c21082 Fixed the TriangleFunctor QUAD_STRIP code so that it produces consistent
results.
2002-07-04 09:49:12 +00:00
Don BURNS
d2aa4270ce Added support for CullVisitor to contain a osg::State. This used when
cull Callbacks require the contextID for  doing operations on texture
objects, for example.  Modified CullVisitor SceneView and Drawable
2002-07-02 06:22:28 +00:00
Robert Osfield
cbeeeefdab Added osg::Drawable::PrimitiveFunctor and TriangleFunctor subclass for
querrying the primitive data inside Drawables.  Moved various support
classes over from being osg::GeoSet based to osg::Geometry based.
2002-06-25 20:27:51 +00:00
Robert Osfield
99580f2212 Addd libraryName() method to osg::Object in preperation for the osgDB support
for node kits plugins.
2002-06-06 13:25:36 +00:00
Robert Osfield
ae5e4f848f Added new osgcallback demo, and updated small API changes to improve the
flexiblity of callbacks.

Added beginings of convex planer occlusions culling.
2002-05-28 23:43:22 +00:00
Robert Osfield
26d34ed6d6 Qarning fixes, and updated the date in NEWS to reflect todays release of 0.8.45 2002-04-26 08:16:14 +00:00
Robert Osfield
e80496d5db Changed Texture so that is use lazy updating on texture paramters (Filter/Wrap)
mode by using a _texParamtersDirty flag in combination with an
applyTexParamters(State&) method which does the paramters setting in one
tidy bundle.  This new implementations replaces the CompileFlags submitted
yesterday.

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

Fixed comments in Drawable.

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

Fixed warning in CullVisitor.
2002-03-14 16:01:21 +00:00
Don BURNS
d0ee300405 Fixed DrawCallback in Drawable and added CullCallback to Drawable
Cull Visitor now checks for a Drawable's CullCallback and calls it
if it exists.  It then prunes based on the return value (bool) of the
cull callback.
2002-03-13 22:44:22 +00:00
Robert Osfield
2075eb0100 Added support for parents to Drawables.
Bumped up version numbers in prep for 0.8.44.
2002-02-08 22:55:21 +00:00
Robert Osfield
62d8b1e8de Fixed teh setDrawCallback so that it now calls dirtyDisplayList() instead of
dirtyBound.
2002-02-07 08:07:33 +00:00
Robert Osfield
b00d103f4e Added callbacks to allow users to modify the underlying functionality of
LOD, Billboard and Drawabel objects.
2002-02-07 01:07:11 +00:00
Robert Osfield
c1283c23e8 Removed the trailing ; after namespace {...} declariations in headers
which was being picked as a warning under Codewarrior.
2002-02-03 12:33:41 +00:00
Robert Osfield
c72efc1059 Fixes for windows build. 2002-01-29 20:25:45 +00:00
Robert Osfield
02ef10fcfa Moved all references to osg::Cloner to osg::CopyOp. 2002-01-29 14:04:06 +00:00
Robert Osfield
f612924a45 Added support for shallow and deep copy of nodes, drawables and state, via a
copy constructor which takes an optional Cloner object, and the old
osg::Object::clone() has changed so that it now requires a Cloner as paramter.
This is passed on to the copy constructor to help control the shallow vs
deep copying.  The old functionality of clone() which was clone of type has
been renamed to cloneType().

Updated all of the OSG to work with these new conventions, implemention all
the required copy constructors etc.  A couple of areas will do shallow
copies by design, a couple of other still need to be updated to do either
shallow or deep.

Neither of the shallow or deep copy operations have been tested yet, only
the old functionality of the OSG has been checked so far, such running the
viewer on various demo datasets.

Also fixed a problem in osg::Optimize::RemoveRendundentNodesVisitor which
was not checking that Group didn't have have any attached StateSet's, Callbacks
or UserData.  These checks have now been added, which fixes a bug which was
revealled by the new osgscribe demo, this related to removal of group acting
as state decorator.

method
2002-01-28 21:17:01 +00:00
Robert Osfield
42faf78b47 Updated index.html with dependacy info about the new osgText library.
Modified osg/Drawable::draw(..) so that it uses display list COMPILE
rather than COMPILE_AND_EXECUTE to solve performance problems under
NVidia drivers.  The old behavior is still available by comments out
a #define.
Fixed the default compilation list src/osgPlugins/Makefile so that it
compiles by defalt png and gif.
2001-11-02 12:26:33 +00:00
Robert Osfield
25c8b05914 Integrated Geoff Michel's updates to Stats code, whilest move all text rendering
back in the viewer from the Statistics header.

Added a osg::State::captureCurrentState(StateSet&) method and a copy constructor
to osg::StateSet.
2001-10-22 22:02:47 +00:00
Don BURNS
3ecaf3cd6c Fixed a small boo-boo in definition of bit masks in include/osg/Drawable
Fixed incorrect normal conversions for osgconv.
2001-10-14 06:01:31 +00:00
Robert Osfield
1e4a0cadf5 Changed the naming and calling convention of the new Drawable::AttributeFunctor
and have updated GeoSet to use mutable values for the _numverts etc, allowing
osg::GeoSet::computeNumVerts() to be a const operation. osg::GeoSet::getNumVerts
is now a const once more, so avoiding compilation problems.  Also chaned the new
osgconv orientation code to use a Drawable::AttributeFunctor so it can work on
other Drawables other than just GeoSets.
2001-10-13 11:16:10 +00:00
Robert Osfield
9db63dfd5d Added != method to Vec2,Vec3,Vec4 and did further work on the
AttributeUpdateFunctors.
2001-10-12 20:05:55 +00:00