Commit Graph

14768 Commits

Author SHA1 Message Date
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
a5e0398a29 Fixed typo in comment 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
611b7afb07 Added OSG_EXPORT 2016-10-11 11:29:29 +01:00
Robert Osfield
93b2a24b0e Added command line parser to osgparticle examples viewer setup to make it easier to position window 2016-10-11 11:29:29 +01:00
Robert Osfield
663024a215 Removed redundent use of Geode to decorate the ParticleSystem 2016-10-11 11:29:29 +01:00
Robert Osfield
9800e1c201 Fixed line endings 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
35e19b4f30 Added back in the osgimpostor example, cleaning up so that it no longer has any deprecated paths and adds stats and file output for debug purposes 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
a1ab1a0ecc Added AdjustSphereSegmentCallback to provide '<' and '>' key controls over the azim and elev range of the sphere segment 2016-10-11 11:29:29 +01:00
Robert Osfield
a87a6f0851 Added StatsHandler to check performance 2016-10-11 11:29:29 +01:00
Robert Osfield
3d0f6d5d78 Removed unused header 2016-10-11 11:29:29 +01:00
Robert Osfield
1df27e4edb Replaced old Shape to Geometry conversion code as new convinience methods in include/osg/Shape provide these features 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
65884f296b Removed no longer used data structures 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
961bffcca4 Added automatic assignment of _markerObject to CompileSet. 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
46c86f53ac remove a warning when compiling with GL3 core profile and macOS 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