Commit Graph

28 Commits

Author SHA1 Message Date
Robert Osfield
488b4854b2 Added reset of the State::CurrentVertexArrayState() to prevent the State::_vas becoming a dangling pointer when VertexArrayState objects are deleted. 2019-01-21 17:36:40 +00:00
Alberto Luaces
02c310982e Fix typos and spelling. 2018-04-23 11:03:37 +01:00
Konstantin S. Matveyev
cbb9fd4218 VertexArrayState: typo fixed in log 2018-03-26 18:31:23 +03:00
Robert Osfield
94a1a84a59 Fixed handling of reassignment of ArrayDispatch when vertex aliasing is toggled 2017-12-31 12:38:17 +00:00
Robert Osfield
5afd32b2d9 Introduced dedicated VertexArrayStateList class to wrap up the VertexArrayState container with convinience methods to help initialize them.
Using the new VertexArrayStateList class fixed bug associated with setting new setTexCoord() array when a VertexArrayState is already assigned.
2017-12-19 09:57:57 +00:00
Julien Valentin
7f2481e976 add a fix in order setArray work with an user managed interleaved array 2017-12-06 23:17:02 +01:00
Robert Osfield
ad45bf1d61 Fixed warning 2017-10-16 11:52:54 +01:00
Robert Osfield
4906844ea7 Added explictly unbinding of VBO for setInterleavedArrays(). 2017-10-06 18:03:36 +01:00
Robert Osfield
9ac2b2eb7b Added VertexArrayState::ArrayDispatch::className() method and implementation for each ArrayDispatch subclass to help with debugging 2017-10-06 17:47:19 +01:00
Robert Osfield
e5b493289d Quitened down debug messages 2017-01-20 17:24:49 +00:00
Fabian Wiesel
1f562c003c Missed rename in VertexAttribArrayDispatch
The variable array is by initialisation a null-pointer, new_array is the new array
2016-10-11 11:29:29 +01:00
Robert Osfield
007a19a027 Fixed warnings 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
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
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
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
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
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