diff --git a/src/osgWrappers/osg/Geode.cpp b/src/osgWrappers/osg/Geode.cpp index 24cd56d8f..6f902317a 100644 --- a/src/osgWrappers/osg/Geode.cpp +++ b/src/osgWrappers/osg/Geode.cpp @@ -41,6 +41,7 @@ BEGIN_OBJECT_REFLECTOR(osg::Geode) Method1(unsigned int, getDrawableIndex, IN, const osg::Drawable *, drawable); Method1(void, compileDrawables, IN, osg::State &, state); Method0(const osg::BoundingBox &, getBoundingBox); + MethodWithDefaults1(void, releaseGLObjects, IN, osg::State *, x, 0); ReadOnlyProperty(const osg::BoundingBox &, BoundingBox); ArrayProperty_GSA(osg::Drawable *, Drawable, Drawables, unsigned int, bool); END_REFLECTOR diff --git a/src/osgWrappers/osg/Group.cpp b/src/osgWrappers/osg/Group.cpp index df47749f6..628f503a6 100644 --- a/src/osgWrappers/osg/Group.cpp +++ b/src/osgWrappers/osg/Group.cpp @@ -14,6 +14,7 @@ #include #include #include +#include BEGIN_OBJECT_REFLECTOR(osg::Group) BaseType(osg::Node); @@ -39,6 +40,7 @@ BEGIN_OBJECT_REFLECTOR(osg::Group) Method1(const osg::Node *, getChild, IN, unsigned int, i); Method1(bool, containsNode, IN, const osg::Node *, node); Method1(unsigned int, getChildIndex, IN, const osg::Node *, node); + MethodWithDefaults1(void, releaseGLObjects, IN, osg::State *, x, 0); ArrayProperty_GSA(osg::Node *, Child, Children, unsigned int, bool); END_REFLECTOR diff --git a/src/osgWrappers/osg/Node.cpp b/src/osgWrappers/osg/Node.cpp index 7d2952c70..92ee7939e 100644 --- a/src/osgWrappers/osg/Node.cpp +++ b/src/osgWrappers/osg/Node.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -81,6 +82,7 @@ BEGIN_OBJECT_REFLECTOR(osg::Node) Method0(const osg::StateSet *, getStateSet); Method0(const osg::BoundingSphere &, getBound); Method0(void, dirtyBound); + MethodWithDefaults1(void, releaseGLObjects, IN, osg::State *, x, 0); ReadOnlyProperty(const osg::BoundingSphere &, Bound); Property(osg::NodeCallback *, CullCallback); Property(bool, CullingActive); diff --git a/src/osgWrappers/osg/Object.cpp b/src/osgWrappers/osg/Object.cpp index 89d427c93..c3991b0a3 100644 --- a/src/osgWrappers/osg/Object.cpp +++ b/src/osgWrappers/osg/Object.cpp @@ -12,6 +12,7 @@ #include #include #include +#include BEGIN_ENUM_REFLECTOR(osg::Object::DataVariance) EnumLabel(osg::Object::DYNAMIC); @@ -32,6 +33,7 @@ BEGIN_ABSTRACT_OBJECT_REFLECTOR(osg::Object) Method1(void, setUserData, IN, osg::Referenced *, obj); Method0(osg::Referenced *, getUserData); Method0(const osg::Referenced *, getUserData); + MethodWithDefaults1(void, releaseGLObjects, IN, osg::State *, x, 0); Property(osg::Object::DataVariance, DataVariance); Property(osg::Referenced *, UserData); END_REFLECTOR diff --git a/src/osgWrappers/osg/Program.cpp b/src/osgWrappers/osg/Program.cpp index 9470b3731..2fb1b3d17 100644 --- a/src/osgWrappers/osg/Program.cpp +++ b/src/osgWrappers/osg/Program.cpp @@ -143,6 +143,8 @@ END_REFLECTOR TYPE_NAME_ALIAS(std::map< std::string COMMA GLuint >, osg::Program::AttribBindingList); +TYPE_NAME_ALIAS(std::map< std::string COMMA std::pair< GLint COMMA GLenum > >, osg::Program::NameInfoMap); + BEGIN_OBJECT_REFLECTOR(osg::Program) BaseType(osg::StateAttribute); Constructor0(); @@ -170,6 +172,8 @@ BEGIN_OBJECT_REFLECTOR(osg::Program) Method1(void, setName, IN, const std::string &, name); Method1(void, setName, IN, const char *, name); Method0(const std::string &, getName); + Method1(const osg::Program::NameInfoMap &, getActiveUniforms, IN, unsigned int, contextID); + Method1(const osg::Program::NameInfoMap &, getActiveAttribs, IN, unsigned int, contextID); Method1(osg::Program::PerContextProgram *, getPCP, IN, unsigned int, contextID); ReadOnlyProperty(const osg::Program::AttribBindingList &, AttribBindingList); Property(const std::string &, Name); @@ -187,12 +191,20 @@ BEGIN_OBJECT_REFLECTOR(osg::Program::PerContextProgram) Method0(bool, isLinked); Method1(bool, getInfoLog, IN, std::string &, infoLog); Method0(void, useProgram); - Method0(void, resetAppliedUnifroms); + Method0(void, resetAppliedUniforms); Method1(void, apply, IN, const osg::Uniform &, uniform); + Method0(const osg::Program::NameInfoMap &, getActiveUniforms); + Method0(const osg::Program::NameInfoMap &, getActiveAttribs); Method1(GLint, getUniformLocation, IN, const std::string &, name); Method1(GLint, getAttribLocation, IN, const std::string &, name); + ReadOnlyProperty(const osg::Program::NameInfoMap &, ActiveAttribs); + ReadOnlyProperty(const osg::Program::NameInfoMap &, ActiveUniforms); ReadOnlyProperty(GLuint, Handle); END_REFLECTOR STD_MAP_REFLECTOR(std::map< std::string COMMA GLuint >); +STD_MAP_REFLECTOR(std::map< std::string COMMA std::pair< GLint COMMA GLenum > >); + +STD_PAIR_REFLECTOR(std::pair< GLint COMMA GLenum >); + diff --git a/src/osgWrappers/osg/StateSet.cpp b/src/osgWrappers/osg/StateSet.cpp index 6e329217d..bca05bc22 100644 --- a/src/osgWrappers/osg/StateSet.cpp +++ b/src/osgWrappers/osg/StateSet.cpp @@ -102,6 +102,7 @@ BEGIN_OBJECT_REFLECTOR(osg::StateSet) Method1(void, removeUniform, IN, const std::string &, name); Method1(void, removeUniform, IN, osg::Uniform *, uniform); Method1(osg::Uniform *, getUniform, IN, const std::string &, name); + Method2(osg::Uniform *, getOrCreateUniform, IN, const std::string &, name, IN, osg::Uniform::Type, type); Method1(const osg::Uniform *, getUniform, IN, const std::string &, name); Method1(const osg::StateSet::RefUniformPair *, getUniformPair, IN, const std::string &, name); Method1(void, setUniformList, IN, osg::StateSet::UniformList &, al); diff --git a/src/osgWrappers/osg/Texture.cpp b/src/osgWrappers/osg/Texture.cpp index de247d5bd..3a3ee674a 100644 --- a/src/osgWrappers/osg/Texture.cpp +++ b/src/osgWrappers/osg/Texture.cpp @@ -96,6 +96,8 @@ BEGIN_ABSTRACT_OBJECT_REFLECTOR(osg::Texture) Method0(bool, getUnRefImageDataAfterApply); Method1(void, setClientStorageHint, IN, bool, flag); Method0(bool, getClientStorageHint); + Method1(void, setResizeNonPowerOfTwoHint, IN, bool, flag); + Method0(bool, getResizeNonPowerOfTwoHint); Method1(void, setInternalFormatMode, IN, osg::Texture::InternalFormatMode, mode); Method0(osg::Texture::InternalFormatMode, getInternalFormatMode); Method1(void, setInternalFormat, IN, GLint, internalFormat); @@ -131,6 +133,7 @@ BEGIN_ABSTRACT_OBJECT_REFLECTOR(osg::Texture) Property(GLint, InternalFormat); Property(osg::Texture::InternalFormatMode, InternalFormatMode); Property(float, MaxAnisotropy); + Property(bool, ResizeNonPowerOfTwoHint); Property(float, ShadowAmbient); Property(osg::Texture::ShadowCompareFunc, ShadowCompareFunc); WriteOnlyProperty(bool, ShadowComparison); @@ -179,6 +182,7 @@ BEGIN_OBJECT_REFLECTOR(osg::Texture::Extensions) Method1(void, setGetCompressedTexImageProc, IN, void *, ptr); Method3(void, glGetCompressedTexImage, IN, GLenum, target, IN, GLint, level, IN, GLvoid *, data); Method0(bool, isClientStorageSupported); + Method0(bool, isNonPowerOfTwoTextureSupported); WriteOnlyProperty(void *, CompressedTexImage2DProc); WriteOnlyProperty(void *, CompressedTexSubImage2DProc); WriteOnlyProperty(bool, GenerateMipMapSupported); diff --git a/src/osgWrappers/osg/Uniform.cpp b/src/osgWrappers/osg/Uniform.cpp index 5b8d2e903..78c049349 100644 --- a/src/osgWrappers/osg/Uniform.cpp +++ b/src/osgWrappers/osg/Uniform.cpp @@ -50,7 +50,7 @@ END_REFLECTOR BEGIN_OBJECT_REFLECTOR(osg::Uniform) BaseType(osg::Object); Constructor0(); - Constructor2(IN, const char *, name, IN, osg::Uniform::Type, type); + Constructor2(IN, osg::Uniform::Type, type, IN, const std::string &, name); ConstructorWithDefaults2(IN, const osg::Uniform &, rhs, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY); Method0(osg::Object *, cloneType); Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop);