Robert Osfield
53cdacd926
Refactored Text3D so that it no longer depends upon GLBeginEndAdapter
2016-10-11 11:29:29 +01:00
Robert Osfield
5a4754deef
Refactored osgParticle so that it natives support vertex arrays, vertex buffer objects and vertex array objects
2016-10-11 11:29:29 +01:00
Robert Osfield
10f1d84f7e
Added explict setup of the stats graphing geometry so that it's VertexBufferObject is intialized to the correct size to prevent any need for later resizing
2016-10-11 11:29:29 +01:00
Robert Osfield
d4d32cbde7
Improved handling of the BufferObject::Profile::_size, utilizing it's intial value when it is non zero and larger than the arrays assigned to it.
2016-10-11 11:29:29 +01:00
Robert Osfield
8febae1546
Fixed VertexArrayState::bind*BufferObject(..) methods so they correctly handle dirtied buffer objects
2016-10-11 11:29:29 +01:00
Robert Osfield
96b0e42c42
Fixed typo in comment
2016-10-11 11:29:29 +01:00
Robert Osfield
ff779e58ab
Added check against Array::Binding to decide whether to assign a VertexBufferObject to an array or not, only assigning it when Binding is BIND_PER_VERTEX
2016-10-11 11:29:29 +01:00
Robert Osfield
886b922596
Beginings of refactoring ParticleSystem so that it does uses vertex arrays rather than GLBeginEndAdapter
2016-10-11 11:29:29 +01:00
Robert Osfield
c15f6d3e8c
Made ordering of case clearer
2016-10-11 11:29:29 +01:00
Robert Osfield
56ed225f17
Removed Particle::Shape support for QUAD_TRIANGLESTRIP, HEXAGON, USER as these are unlikely to be used as their implementation prevents refactoring to use vertex array code paths
2016-10-11 11:29:29 +01:00
Robert Osfield
c637010c9d
Refactored ImpostorSprite so that it no longer uses GLBeginEndAdapter
2016-10-11 11:29:29 +01:00
Robert Osfield
037e8f24c6
Removed commented out debug message
2016-10-11 11:29:29 +01:00
Robert Osfield
7c432fbe11
Refactored osgSim::SphereSegment so that it no longer uses GLBeginEndAdapter
2016-10-11 11:29:29 +01:00
Robert Osfield
e5ab4355be
Added osg::convertShapeToGeometry(...) convinience functions for creating osg::Geometry from osg::Shape descriptions.
2016-10-11 11:29:29 +01:00
Robert Osfield
83b5cabac9
Refactored ShapeDrawable so that it is subclassed from osg::Geometry rather than osg::Drawable.
...
Created a BuildShapeGeometryVisitor visitor that can create osg::Geometry for osg::Shape objects
2016-10-11 11:29:29 +01:00
Robert Osfield
3be951f279
Fixed crash when using vertex attribute arrays
2016-10-11 11:29:29 +01:00
Robert Osfield
b2873132be
Added support for interleaved arrays
2016-10-11 11:29:29 +01:00
Robert Osfield
f842750342
Removed no longer used member variables
2016-10-11 11:29:29 +01:00
Robert Osfield
16da432be3
Moved FOG_COORD and SECONDARY_COLOR #define's from State header into VertexArrayState.cpp
2016-10-11 11:29:29 +01:00
Robert Osfield
164981f7a3
Replaced osg::State:set*Pointer() calls with VertexArrayState::set*Array() calls
2016-10-11 11:29:29 +01:00
Robert Osfield
359b136b5e
Added check against State::useVertexBufferObjects(..) so that Display Lists are only used when VBO is OFF.
2016-10-11 11:29:29 +01:00
Robert Osfield
94891778c4
Restructred the enabling of vertex array object support to allow one to set enable the default via osg::State.
...
Added OSG_VERTEX_BUFFER_HINT env var to osg::DisplaySettings with VERTEX_BUFFER_OBJECT/VBO, VERTEX_ARRAY_OBJECT/VAO and NO_PREFERENCE to allow one to foce on VBO or VAO usage.
Restructred BufferObject assigned in osg::Geometry
Added
2016-10-11 11:29:29 +01:00
Robert Osfield
d8fdf33be5
Cleaned up set up of osg::Geometry for stats
2016-10-11 11:29:29 +01:00
Robert Osfield
cf52b2db50
Removed unncessary checks
2016-10-11 11:29:29 +01:00
Robert Osfield
ee31921520
Streamlined State::_is*Supported variables
2016-10-11 11:29:29 +01:00
Robert Osfield
1d75089bf8
Build fixes when compiling wuth CMake options OPENGL_PROFILE set to GLCORE
2016-10-11 11:29:29 +01:00
Mathieu MARACHE
3745b958e5
compilation fixes when no OSG_GL_DISPLAYLISTS_AVAILABLE
2016-10-11 11:29:29 +01:00
Mathieu MARACHE
afe45f66d2
compilation fixes when no OSG_GL_FIXED_FUNCTION_AVAILABLE
2016-10-11 11:29:29 +01:00
Robert Osfield
e3c663bb02
Removed deprecated code paths and moved implementations into headers
2016-10-11 11:29:29 +01:00
Robert Osfield
bf28e2d037
Refactored the VertexArrayState's handling of vertex attribute aliasing
2016-10-11 11:29:29 +01:00
Robert Osfield
1f147f6bc6
Moved implementations from .cpp's to headers as inline methods to improve performance.
2016-10-11 11:29:29 +01:00
Robert Osfield
97df15b205
Improved naming of createVertexArrayState(..) method
2016-10-11 11:29:29 +01:00
Robert Osfield
98344157c0
Removed resetting of the pointer state.
2016-10-11 11:29:29 +01:00
Robert Osfield
83f73df814
Added State::useVertexArrayObject() member to streamline toggling on/off of VAO usage
2016-10-11 11:29:29 +01:00
Robert Osfield
a4e682bb28
Added support for clean up Vertex Array Objects
2016-10-11 11:29:29 +01:00
Robert Osfield
4131d2da34
Added intialization of the VAO in Geometry::compileGLObjects() and refined the invocation of updates to the VAO
2016-10-11 11:29:29 +01:00
Robert Osfield
078598872f
Added lazy setting of arrays for osg::Geometry using vertex_array_object
2016-10-11 11:29:29 +01:00
Robert Osfield
4b4cd13d31
Implemented lighter weight setting of the CurrentVertexArrayState and introduced GlobalVertexArrayState.
2016-10-11 11:29:29 +01:00
Robert Osfield
7d83d735ad
Implemented a different approach to vertex array object support to enable creation of a single global vertex array object as well as provide individual vertex array objects per Drawable when required.
2016-10-11 11:29:29 +01:00
Robert Osfield
4d8a29b987
Added ability to initializer GL vertex array object id with Geometry::compileGLObjects().
...
Improved the handling of buffer object state when not using VAO's
2016-10-11 11:29:29 +01:00
Robert Osfield
14d1483b06
Experimental support for OpenGL Vertex Array Object
2016-10-11 11:29:29 +01:00
Robert Osfield
d92a79b876
Fixed crash associated with setting the affinity on a null pointer
2016-10-08 15:58:33 +01:00
OpenSceneGraph git repository
05ed7d1336
Merge pull request #152 from aluaces/spelling2
...
Some spelling fixes in comments.
2016-10-07 17:05:58 +01:00
Robert Osfield
548c9739ed
Restructed how CPU affinity is set to fix build problems when local pthreads doesn't support setting affinity
2016-10-07 15:57:01 +01:00
Robert Osfield
10d8ac7f65
Fixed extension string typo
2016-10-07 12:17:03 +01:00
Robert Osfield
dc6b55a5e9
Added support for checking GL_OES_texture_npot
2016-10-07 12:17:03 +01:00
Robert Osfield
91538d90f8
Added ViewerBase::s/getUseConfigureAffinity(bool flag) to allow users to toggle whether they want the ViewerBase::setUpThreads() method to call ViewerBase::configureAffinity() or not.
2016-10-07 12:17:03 +01:00
Robert Osfield
ee97db3488
Introduced OpenThreads::Affinity support into osg::Camera, osg::GraphicsContext::Traitse, osgDB::DatabasePager and osgViewer::ViewerBase/Viewer/CompositeViewer.
...
Added ViewerBase::configureAffinity() to help with the setting of the affinity of camera, graphics context and pager threads
2016-10-07 12:17:03 +01:00
Robert Osfield
77c5e96ccb
Added DatabasePager::setProcessorAffinity(const OpenThreads::Affinity&) support to allow the database threads to have affinity to user controls sets of CPU cores.
2016-10-07 12:17:03 +01:00
Robert Osfield
171e4f0f29
Implemented setting thread affinity for threads that aren't OpenThreads threads, such as main thread
2016-10-07 12:17:03 +01:00