Robert Osfield
68f37c4dcb
From Tim More and Robert Osfield, implementation of ARB_timer_query based GPU timing stats syncronization.
...
Initial email from Tim : "I've implemented using a timestamp, available with ARB_timer_query and OpenGL 3.3, to gather GPU stats. This is nice because it can accurately fix the GPU draw time with respect to the other times on the stats graph, rather than having to estimate the wall time of the end of GPU drawing. This also prevents anomalies like the GPU phase starting before the draw phase..."
Changes to Tim's submission by Robert: Removal of need for swap buffer callback in ViewerBase.cpp, by
integrating a osg::State::frameCompleted() method that does the stats timing collection. Introduction of a
GraphicsContext::swapBuffersCallbackOrImplementation() method that calls the State::frameCompleted() and
the swap buffers callback or the swapImplementation as required.
2010-11-10 16:58:58 +00:00
Robert Osfield
a79a8d30f9
Convesion of osg::notify to OSG_INFO etc.
2010-05-28 15:47:52 +00:00
Robert Osfield
6e7c02b5d8
Added a Geometry::compileGLObjects() to handle compilation of VBO + EBO's.
2009-12-09 13:51:02 +00:00
Robert Osfield
14838aafc5
Added OSG_GLES2_FEATURES and OSG_GL3_FEATURES usage where appropriate
2009-11-10 19:16:36 +00:00
Robert Osfield
327b67a305
Added CMake support for specifying what OpenGL target and features that the OpenSceneGraph build should use.
...
Added use of the new Cmake generated #define's for optionally compiling parts of the OpenSceneGraph's OpenGL support for the various OpenGL targets
2009-10-23 13:19:57 +00:00
Robert Osfield
6a56b6e6be
Refactored osg::Geometry::drawImplementation(..) to use new osg::ArrayDispatchers that encapsulate the task
...
of dispatch osg::Array data as OpenGL attributes.
2009-10-20 19:34:24 +00:00
Robert Osfield
ef1c9d9e3c
From David Fries, "The Extensions object was calling _gl_get_query_objectui64v but
...
checking _gl_get_query_objectuiv_arb which is a different function
pointer. Changed to check the function being called.
This is against the subversion trunk."
2009-10-10 10:07:40 +00:00
Robert Osfield
6238a31d5c
Added better handling of use of VBO's in compileGLObjects()
2009-04-07 10:13:54 +00:00
Robert Osfield
c58ff9b656
From Lionel Lagarde, "The copy constructor of the nodes and the drawables do :
...
Node::Node(Node &node, copyop) :
_stateSet(copyop(node.getStateSet()),
It doesn't call the setStateSet method of osg::Node (or osg::Drawable). So the parent
list of the state set is not updated with the new node (drawable)."
2009-03-11 11:00:24 +00:00
Robert Osfield
ac975bf79a
Added a Refrenced::getGlobalReferencedMutex, and OpenThreads::ScopedPointerLock() and use of this in add/removeParent() codes
...
to avoid threading problems when using atomic ref counting.
2008-10-14 14:27:41 +00:00
Robert Osfield
0969a5384b
Improved the constness of parameters the Node::getWorldMatrices(..) method.
...
Added Drawable::getWorldMatrices(const Node*) method.
2008-09-18 10:38:18 +00:00
Robert Osfield
6d3a90219c
Removed redundental vertex buffer object flush methods
2008-01-21 11:36:54 +00:00
Robert Osfield
ff565128af
Introduced new osg::discardDeletedOpenGLObjects() methods, and usage of it in
...
GrpahicsContext::close() to handle cases where deletingOpenGLObjects is no possible,
such as when GraphicsWindowEmbedded is used.
2008-01-08 13:24:29 +00:00
Robert Osfield
f4afa427a7
From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)."
2007-12-10 17:30:18 +00:00
Robert Osfield
1b1c5bbdd1
Added support for new double Vec*Array classes in various functors.
2007-12-04 14:46:46 +00:00
Robert Osfield
409cdd0b28
Intoduced a new setGLExtensions template method to do a copy of void* pointer to
...
local function pointer to avoid compiler warnings related to case void*.
Moved various OSG classes across to using setGLExtensions instead of getGLExtensions,
and changed them to use typedef declarations in the headers rather than casts in
the .cpp.
Updated wrappers
2007-09-10 15:19:23 +00:00
Robert Osfield
86e998f64c
Added mutex locking add addParents/removeParents in Drawable, Node and StateSet.
2007-08-31 20:14:36 +00:00
Robert Osfield
de4a4042f7
Set main scene graph elements to use thread safe ref/unref by default
2007-08-22 10:34:11 +00:00
Robert Osfield
5faeead2c6
From Bryan Thrall, added copying of boundingbox callback to copy constructor.
2007-07-27 17:14:51 +00:00
Robert Osfield
eac3dc1963
From Paul Melis, "Here is a list of fixes to misspelled APIs. Unfortunately, more than one
...
of these are public APIs and therefore will break linkage to existing
shared libraries."
Note from Robert Osfield, updated wrappers.
2007-06-27 20:36:16 +00:00
Robert Osfield
c100841487
In Drawable::releaseGLObjects() replaced glDeleteLists with Drawable::deleteDisplayList(..) to prevent inappropriate OpenGL deletion when current thread does have required grpahics contxt
2007-05-19 07:08:20 +00:00
Robert Osfield
859bcf3c4b
Further perfomrmance optimizations and clean up on new VBO/EBO/PBO API.
2007-05-01 18:03:32 +00:00
Robert Osfield
9e07a72119
Added temporary code (but comment out) for testing VBO performance
2007-04-29 20:13:53 +00:00
Robert Osfield
921eb0fdd0
Further work on new VertexBufferObject/ElementsBufferObject support
2007-04-29 08:12:29 +00:00
Robert Osfield
4968eb7136
Further work on the new VBO support
2007-04-27 14:52:30 +00:00
Robert Osfield
07411f3246
Introduced new osg::Object::DataVariance type of UNSPECIFIED, and changed the deafult
...
values of DataVariance to UNSPECIFIED to all types.
2007-02-14 13:18:58 +00:00
Robert Osfield
89c99a88fa
Added computeDataVariance method into osg::Object and implementations in Drawable and StateSet,
...
and calling of osgUtil::StaticObjectDetectionVisitor in osgViewer::Viewer
2007-02-14 11:24:42 +00:00
Robert Osfield
fd0ea388c2
Began work on providing support for threading camera cull traversals in parallel with
...
the previous frames draw traversal. Changes range from osg::State, through osgUtil::RenderBin, through to osgViewer
2007-01-29 22:44:29 +00:00
Robert Osfield
a90206bcbb
Added EXT_timer_query support
2007-01-19 14:41:29 +00:00
Robert Osfield
73fffe1800
Made Refernced::setThreadSafeReferenceCounting(bool) a virtual then overrode
...
this in various scene graph classes to ensure that the scene graph gets
updated as well as the objects that the initialial call is made from.
2007-01-04 16:49:58 +00:00
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
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
d9b6d87d5a
Cleaned up per context buffers support
2006-07-26 15:29:26 +00:00
Robert Osfield
f1c2694c17
Updated copyright years.
2006-07-18 15:21:48 +00:00
Robert Osfield
e534e4d1ed
Added setStateSet(0) to destructors to force the problem clean up of attached
...
StateSets.
2005-07-30 18:44:18 +00:00
Robert Osfield
facb0e2638
From Pavel Moloshtan, Byte2,3,4 and Short2,3,4 classes and their Array counterparts.
...
With a few build tweaks and bug fixes by Robert Osfield.
2005-07-05 15:57:53 +00:00
Robert Osfield
1641cd7b54
From Pavel Moloshtan, added support of Drawable::Extensions::glDeleteQueries()
2005-06-16 13:53:52 +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
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
e24cfa0370
Futher work on supporting update and event callbacks in StateSet, Uniform and StateAttribute
2005-04-25 13:37:12 +00:00
Robert Osfield
bc83e63bb4
Futher work on adding event and update callbacks to StateSet, Uniform and StateAttributes
2005-04-25 11:05:02 +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
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
5b0739bcf0
Updates for better DatabasePager peformance w.r.t constant frame rates.
2004-09-23 12:27:56 +00:00