From 70e7cb886bec4427e7da50422163c9ee7f756268 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Mon, 27 Mar 2017 20:02:33 +0100 Subject: [PATCH] Added serializers for BufferObject and BufferData --- src/osgWrappers/serializers/osg/Array.cpp | 14 ++++++++++++-- src/osgWrappers/serializers/osg/BufferData.cpp | 17 +++++++++++++++++ .../serializers/osg/BufferObject.cpp | 14 ++++++++++++++ .../serializers/osg/ElementBufferObject.cpp | 12 ++++++++++++ .../serializers/osg/VertexBufferObject.cpp | 11 +++++++++++ 5 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 src/osgWrappers/serializers/osg/BufferData.cpp create mode 100644 src/osgWrappers/serializers/osg/BufferObject.cpp create mode 100644 src/osgWrappers/serializers/osg/ElementBufferObject.cpp create mode 100644 src/osgWrappers/serializers/osg/VertexBufferObject.cpp diff --git a/src/osgWrappers/serializers/osg/Array.cpp b/src/osgWrappers/serializers/osg/Array.cpp index d033ac1d5..2358114ef 100644 --- a/src/osgWrappers/serializers/osg/Array.cpp +++ b/src/osgWrappers/serializers/osg/Array.cpp @@ -34,8 +34,14 @@ struct ResizeArray : public osgDB::MethodObject REGISTER_OBJECT_WRAPPER( Array, 0, osg::Array, - "osg::Object osg::Array" ) + "osg::Object osg::BufferData osg::Array" ) { + + + { + UPDATE_TO_VERSION_SCOPED( 147 ) + ADDED_ASSOCIATE("osg::BufferData") + } #if 0 BEGIN_ENUM_SERIALIZER_NO_SET( Type, ArrayType ); ADD_ENUM_VALUE( ArrayType ); @@ -114,8 +120,12 @@ REGISTER_OBJECT_WRAPPER( Array, #define ARRAY_WRAPPERS( ARRAY, ELEMENTTYPE, NUMELEMENTSONROW ) \ namespace Wrappers##ARRAY { \ - REGISTER_OBJECT_WRAPPER( ARRAY, new osg::ARRAY, osg::ARRAY, "osg::Object osg::Array osg::"#ARRAY) \ + REGISTER_OBJECT_WRAPPER( ARRAY, new osg::ARRAY, osg::ARRAY, "osg::Object osg::BufferData osg::Array osg::"#ARRAY) \ { \ + {\ + UPDATE_TO_VERSION_SCOPED( 147 )\ + ADDED_ASSOCIATE("osg::BufferData")\ + }\ ADD_ISAVECTOR_SERIALIZER( vector, osgDB::BaseSerializer::ELEMENTTYPE, NUMELEMENTSONROW ); \ } \ } diff --git a/src/osgWrappers/serializers/osg/BufferData.cpp b/src/osgWrappers/serializers/osg/BufferData.cpp new file mode 100644 index 000000000..79769e92c --- /dev/null +++ b/src/osgWrappers/serializers/osg/BufferData.cpp @@ -0,0 +1,17 @@ +#include +#include +#include +#include + + + +REGISTER_OBJECT_WRAPPER( BufferData, + 0, + osg::BufferData, + "osg::Object osg::BufferData" ) +{ + { + UPDATE_TO_VERSION_SCOPED( 147 ) + ADD_OBJECT_SERIALIZER(BufferObject, osg::BufferObject, NULL); + } +} diff --git a/src/osgWrappers/serializers/osg/BufferObject.cpp b/src/osgWrappers/serializers/osg/BufferObject.cpp new file mode 100644 index 000000000..365a953b6 --- /dev/null +++ b/src/osgWrappers/serializers/osg/BufferObject.cpp @@ -0,0 +1,14 @@ +#include +#include +#include +#include + +REGISTER_OBJECT_WRAPPER( BufferObject, + /*new osg::BufferObject*/NULL, + osg::BufferObject, + "osg::Object osg::BufferObject" ) +{ + ADD_GLENUM_SERIALIZER( Target,GLenum, GL_ARRAY_BUFFER_ARB); // _type + ADD_GLENUM_SERIALIZER( Usage,GLenum, GL_STATIC_DRAW_ARB); // _type setTarget(GL_ARRAY_BUFFER_ARB); + ADD_BOOL_SERIALIZER( CopyDataAndReleaseGLBufferObject, false); +} diff --git a/src/osgWrappers/serializers/osg/ElementBufferObject.cpp b/src/osgWrappers/serializers/osg/ElementBufferObject.cpp new file mode 100644 index 000000000..6b2b206ae --- /dev/null +++ b/src/osgWrappers/serializers/osg/ElementBufferObject.cpp @@ -0,0 +1,12 @@ +#include +#include +#include +#include + + +REGISTER_OBJECT_WRAPPER( ElementBufferObject, + new osg::ElementBufferObject, + osg::ElementBufferObject, + "osg::Object osg::BufferObject osg::ElementBufferObject" ) +{ +} diff --git a/src/osgWrappers/serializers/osg/VertexBufferObject.cpp b/src/osgWrappers/serializers/osg/VertexBufferObject.cpp new file mode 100644 index 000000000..69faadf81 --- /dev/null +++ b/src/osgWrappers/serializers/osg/VertexBufferObject.cpp @@ -0,0 +1,11 @@ +#include +#include +#include +#include + +REGISTER_OBJECT_WRAPPER( VertexBufferObject, + new osg::VertexBufferObject, + osg::VertexBufferObject, + "osg::Object osg::BufferObject osg::VertexBufferObject" ) +{ +}