[osg-users] vertex_array_object branch merged with master

Robert Osfield robert.osfield at gmail.com
Wed Oct 12 00:53:17 PDT 2016


Hi All,

This morning I have merged the vertex_array_branch with master, this
adds support for OpenGL vertex array objects to the OSG.  Pushing out
this functionality to the whole OSG has been quite a bit of work, with
quite a few parts of the OSG having to be rewritten.  The merge below
illustrates the file changes, added and removed.

This is the large major feature to be completed for the next stable
release OSG-3.6, but being a big one will need widespread testing out
in the community.  First pass will be does everything compile and run
with defaults (without VAO enabled).  The next pass will be to enable
VAO by setting the env var OSG_VERTEX_BUFFER_HINT to
VERTEX_ARRAY_OBJECT (or VAO)

I'll provide more details as this thread evolves.

Robert.

$ git merge vertex_array_object
Updating d51036f..0314fd5
Fast-forward
 CMakeLists.txt                                                |    3 +
 examples/CMakeLists.txt                                       |    1 +
 examples/osggpucull/ShapeToGeometry.cpp                       | 1131
+-------------------------------------------------------------------------------------
 examples/osggpucull/ShapeToGeometry.h                         |   70 ------
 examples/osggpucull/osggpucull.cpp                            |    2 +-
 examples/osgimpostor/CMakeLists.txt                           |    8 +
 examples/osgimpostor/TestManipulator.cpp                      |  292
+++++++++++++++++++++++
 examples/osgimpostor/TestManipulator.h                        |  103 ++++++++
 examples/osgimpostor/osgimpostor.cpp                          |  171
+++++++++++++
 examples/osgparticle/osgparticle.cpp                          |   63 +++--
 examples/osgparticleshader/osgparticleshader.cpp              |   75 +++---
 examples/osgsharedarray/osgsharedarray.cpp                    |    4 +
 examples/osgspheresegment/osgspheresegment.cpp                |   50 ++++
 examples/osgtext/osgtext.cpp                                  |   14 +-
 include/osg/Array                                             |    5 +-
 include/osg/{ArrayDispatchers => AttributeDispatchers}        |   58 ++---
 include/osg/DisplaySettings                                   |   13 +
 include/osg/Drawable                                          |  121 ++++++----
 include/osg/GLBeginEndAdapter                                 |  174
--------------
 include/osg/GLDefines                                         |    8 +-
 include/osg/GLExtensions                                      |   70 +++++-
 include/osg/Geometry                                          |    9 +-
 include/osg/Shape                                             |  189
+++++++++++++--
 include/osg/ShapeDrawable                                     |  139
+----------
 include/osg/State                                             |  926
++++++++++------------------------------------------------------------
 include/osg/Texture                                           |    4 +-
 include/osg/Vec4ub                                            |   20 +-
 include/osg/VertexArrayState                                  |  265
++++++++++++++++++++
 include/osgParticle/ConstantRateCounter                       |    9 +
 include/osgParticle/Counter                                   |    4 +
 include/osgParticle/Emitter                                   |    8 +
 include/osgParticle/Particle                                  |   72 +-----
 include/osgParticle/ParticleProcessor                         |    7 +-
 include/osgParticle/ParticleSystem                            |   82 ++++---
 include/osgParticle/VariableRateCounter                       |    2 +
 include/osgSim/ImpostorSprite                                 |   48 +---
 include/osgSim/SphereSegment                                  |  111 +++------
 include/osgTerrain/GeometryPool                               |    3 +
 include/osgText/Text                                          |    1 +
 include/osgText/TextBase                                      |    5 +
 include/osgUtil/IncrementalCompileOperation                   |    2 +-
 src/osg/{ArrayDispatchers.cpp => AttributeDispatchers.cpp}    |   94 +-------
 src/osg/BufferObject.cpp                                      |   18 +-
 src/osg/CMakeLists.txt                                        |    8 +-
 src/osg/DisplaySettings.cpp                                   |   30 +++
 src/osg/Drawable.cpp                                          |  206
++++++++++++----
 src/osg/GLBeginEndAdapter.cpp                                 |  306
------------------------
 src/osg/GLExtensions.cpp                                      |   85 ++++++-
 src/osg/Geometry.cpp                                          |  182
+++++++++-----
 src/osg/PrimitiveSet.cpp                                      |   18 +-
 src/osg/Shape.cpp                                             | 1055
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/osg/ShapeDrawable.cpp                                     | 1975
+++---------------------------------------------------------------------------------------------------------------------------------------------------
 src/osg/State.cpp                                             |  519
++++++++++------------------------------
 src/osg/VertexArrayState.cpp                                  |  747
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/osgParticle/ConnectedParticleSystem.cpp                   |   52 ++--
 src/osgParticle/Emitter.cpp                                   |   22 +-
 src/osgParticle/ModularEmitter.cpp                            |   48 +++-
 src/osgParticle/Particle.cpp                                  |  120 ----------
 src/osgParticle/ParticleProcessor.cpp                         |    5 +
 src/osgParticle/ParticleSystem.cpp                            |  602
+++++++++++++++++++++++++++++++++-------------
 src/osgParticle/SmokeEffect.cpp                               |    2 +-
 src/osgSim/Impostor.cpp                                       |    2 +-
 src/osgSim/ImpostorSprite.cpp                                 |   94 +++-----
 src/osgSim/SphereSegment.cpp                                  | 1199
+++++++++++++++++++++++++++++++------------------------------------------------------------
 src/osgTerrain/GeometryPool.cpp                               |  125 +++++++---
 src/osgText/Text.cpp                                          |  225
++++++++---------
 src/osgText/Text3D.cpp                                        |   98 ++------
 src/osgText/TextBase.cpp                                      |  126 ++++++++++
 src/osgViewer/StatsHandler.cpp                                |   54 +++--
 src/osgWrappers/deprecated-dotosg/osgParticle/IO_Particle.cpp |   17 --
 src/osgWrappers/serializers/osgParticle/Particle.cpp          |   26 +-
 71 files changed, 5394 insertions(+), 7008 deletions(-)
 create mode 100644 examples/osgimpostor/CMakeLists.txt
 create mode 100644 examples/osgimpostor/TestManipulator.cpp
 create mode 100644 examples/osgimpostor/TestManipulator.h
 create mode 100644 examples/osgimpostor/osgimpostor.cpp
 rename include/osg/{ArrayDispatchers => AttributeDispatchers} (53%)
 delete mode 100644 include/osg/GLBeginEndAdapter
 create mode 100644 include/osg/VertexArrayState
 rename src/osg/{ArrayDispatchers.cpp => AttributeDispatchers.cpp} (70%)
 delete mode 100644 src/osg/GLBeginEndAdapter.cpp
 create mode 100644 src/osg/VertexArrayState.cpp



More information about the osg-users mailing list