|
OpenSceneGraph
|
Uniform encapsulates glUniform values. More...


Public Types | |
| enum | Type { FLOAT = GL_FLOAT, FLOAT_VEC2 = GL_FLOAT_VEC2, FLOAT_VEC3 = GL_FLOAT_VEC3, FLOAT_VEC4 = GL_FLOAT_VEC4, DOUBLE = GL_DOUBLE, DOUBLE_VEC2 = GL_DOUBLE_VEC2, DOUBLE_VEC3 = GL_DOUBLE_VEC3, DOUBLE_VEC4 = GL_DOUBLE_VEC4, INT = GL_INT, INT_VEC2 = GL_INT_VEC2, INT_VEC3 = GL_INT_VEC3, INT_VEC4 = GL_INT_VEC4, UNSIGNED_INT = GL_UNSIGNED_INT, UNSIGNED_INT_VEC2 = GL_UNSIGNED_INT_VEC2_EXT, UNSIGNED_INT_VEC3 = GL_UNSIGNED_INT_VEC3_EXT, UNSIGNED_INT_VEC4 = GL_UNSIGNED_INT_VEC4_EXT, BOOL = GL_BOOL, BOOL_VEC2 = GL_BOOL_VEC2, BOOL_VEC3 = GL_BOOL_VEC3, BOOL_VEC4 = GL_BOOL_VEC4, FLOAT_MAT2 = GL_FLOAT_MAT2, FLOAT_MAT3 = GL_FLOAT_MAT3, FLOAT_MAT4 = GL_FLOAT_MAT4, FLOAT_MAT2x3 = GL_FLOAT_MAT2x3, FLOAT_MAT2x4 = GL_FLOAT_MAT2x4, FLOAT_MAT3x2 = GL_FLOAT_MAT3x2, FLOAT_MAT3x4 = GL_FLOAT_MAT3x4, FLOAT_MAT4x2 = GL_FLOAT_MAT4x2, FLOAT_MAT4x3 = GL_FLOAT_MAT4x3, DOUBLE_MAT2 = GL_DOUBLE_MAT2, DOUBLE_MAT3 = GL_DOUBLE_MAT3, DOUBLE_MAT4 = GL_DOUBLE_MAT4, DOUBLE_MAT2x3 = GL_DOUBLE_MAT2x3, DOUBLE_MAT2x4 = GL_DOUBLE_MAT2x4, DOUBLE_MAT3x2 = GL_DOUBLE_MAT3x2, DOUBLE_MAT3x4 = GL_DOUBLE_MAT3x4, DOUBLE_MAT4x2 = GL_DOUBLE_MAT4x2, DOUBLE_MAT4x3 = GL_DOUBLE_MAT4x3, SAMPLER_1D = GL_SAMPLER_1D, SAMPLER_2D = GL_SAMPLER_2D, SAMPLER_3D = GL_SAMPLER_3D, SAMPLER_CUBE = GL_SAMPLER_CUBE, SAMPLER_1D_SHADOW = GL_SAMPLER_1D_SHADOW, SAMPLER_2D_SHADOW = GL_SAMPLER_2D_SHADOW, SAMPLER_1D_ARRAY = GL_SAMPLER_1D_ARRAY_EXT, SAMPLER_2D_ARRAY = GL_SAMPLER_2D_ARRAY_EXT, SAMPLER_CUBE_MAP_ARRAY = GL_SAMPLER_CUBE_MAP_ARRAY, SAMPLER_1D_ARRAY_SHADOW = GL_SAMPLER_1D_ARRAY_SHADOW_EXT, SAMPLER_2D_ARRAY_SHADOW = GL_SAMPLER_2D_ARRAY_SHADOW_EXT, SAMPLER_2D_MULTISAMPLE = GL_SAMPLER_2D_MULTISAMPLE, SAMPLER_2D_MULTISAMPLE_ARRAY = GL_SAMPLER_2D_MULTISAMPLE_ARRAY, SAMPLER_CUBE_SHADOW = GL_SAMPLER_CUBE_SHADOW_EXT, SAMPLER_CUBE_MAP_ARRAY_SHADOW = GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW, SAMPLER_BUFFER = GL_SAMPLER_BUFFER_EXT, SAMPLER_2D_RECT = GL_SAMPLER_2D_RECT, SAMPLER_2D_RECT_SHADOW = GL_SAMPLER_2D_RECT_SHADOW, INT_SAMPLER_1D = GL_INT_SAMPLER_1D_EXT, INT_SAMPLER_2D = GL_INT_SAMPLER_2D_EXT, INT_SAMPLER_3D = GL_INT_SAMPLER_3D_EXT, INT_SAMPLER_CUBE = GL_INT_SAMPLER_CUBE_EXT, INT_SAMPLER_1D_ARRAY = GL_INT_SAMPLER_1D_ARRAY_EXT, INT_SAMPLER_2D_ARRAY = GL_INT_SAMPLER_2D_ARRAY_EXT, INT_SAMPLER_CUBE_MAP_ARRAY = GL_INT_SAMPLER_CUBE_MAP_ARRAY, INT_SAMPLER_2D_MULTISAMPLE = GL_INT_SAMPLER_2D_MULTISAMPLE, INT_SAMPLER_2D_MULTISAMPLE_ARRAY = GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, INT_SAMPLER_BUFFER = GL_INT_SAMPLER_BUFFER_EXT, INT_SAMPLER_2D_RECT = GL_INT_SAMPLER_2D_RECT_EXT, UNSIGNED_INT_SAMPLER_1D = GL_UNSIGNED_INT_SAMPLER_1D_EXT, UNSIGNED_INT_SAMPLER_2D = GL_UNSIGNED_INT_SAMPLER_2D_EXT, UNSIGNED_INT_SAMPLER_3D = GL_UNSIGNED_INT_SAMPLER_3D_EXT, UNSIGNED_INT_SAMPLER_CUBE = GL_UNSIGNED_INT_SAMPLER_CUBE_EXT, UNSIGNED_INT_SAMPLER_1D_ARRAY = GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT, UNSIGNED_INT_SAMPLER_2D_ARRAY = GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT, UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY, UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE, UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, UNSIGNED_INT_SAMPLER_BUFFER = GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT, UNSIGNED_INT_SAMPLER_2D_RECT = GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT, IMAGE_1D = GL_IMAGE_1D, IMAGE_2D = GL_IMAGE_2D, IMAGE_3D = GL_IMAGE_3D, IMAGE_2D_RECT = GL_IMAGE_2D_RECT, IMAGE_CUBE = GL_IMAGE_CUBE, IMAGE_BUFFER = GL_IMAGE_BUFFER, IMAGE_1D_ARRAY = GL_IMAGE_1D_ARRAY, IMAGE_2D_ARRAY = GL_IMAGE_2D_ARRAY, IMAGE_CUBE_MAP_ARRAY = GL_IMAGE_CUBE_MAP_ARRAY, IMAGE_2D_MULTISAMPLE = GL_IMAGE_2D_MULTISAMPLE, IMAGE_2D_MULTISAMPLE_ARRAY = GL_IMAGE_2D_MULTISAMPLE_ARRAY, INT_IMAGE_1D = GL_INT_IMAGE_1D, INT_IMAGE_2D = GL_INT_IMAGE_2D, INT_IMAGE_3D = GL_INT_IMAGE_3D, INT_IMAGE_2D_RECT = GL_INT_IMAGE_2D_RECT, INT_IMAGE_CUBE = GL_INT_IMAGE_CUBE, INT_IMAGE_BUFFER = GL_INT_IMAGE_BUFFER, INT_IMAGE_1D_ARRAY = GL_INT_IMAGE_1D_ARRAY, INT_IMAGE_2D_ARRAY = GL_INT_IMAGE_2D_ARRAY, INT_IMAGE_CUBE_MAP_ARRAY = GL_INT_IMAGE_CUBE_MAP_ARRAY, INT_IMAGE_2D_MULTISAMPLE = GL_INT_IMAGE_2D_MULTISAMPLE, INT_IMAGE_2D_MULTISAMPLE_ARRAY = GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY, UNSIGNED_INT_IMAGE_1D = GL_UNSIGNED_INT_IMAGE_1D, UNSIGNED_INT_IMAGE_2D = GL_UNSIGNED_INT_IMAGE_2D, UNSIGNED_INT_IMAGE_3D = GL_UNSIGNED_INT_IMAGE_3D, UNSIGNED_INT_IMAGE_2D_RECT = GL_UNSIGNED_INT_IMAGE_2D_RECT, UNSIGNED_INT_IMAGE_CUBE = GL_UNSIGNED_INT_IMAGE_CUBE, UNSIGNED_INT_IMAGE_BUFFER = GL_UNSIGNED_INT_IMAGE_BUFFER, UNSIGNED_INT_IMAGE_1D_ARRAY = GL_UNSIGNED_INT_IMAGE_1D_ARRAY, UNSIGNED_INT_IMAGE_2D_ARRAY = GL_UNSIGNED_INT_IMAGE_2D_ARRAY, UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY, UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE, UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY, UNDEFINED = 0x0 } |
| typedef std::vector< StateSet * > | ParentList |
| A vector of osg::StateSet pointers which is used to store the parent(s) of this Uniform, the parents could be osg::Node or osg::Drawable. More... | |
| typedef UniformCallback | Callback |
| provide typedef for backwards compatibility to OSG-3.2 and other previous versions. More... | |
Public Types inherited from osg::Object | |
| enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
Public Member Functions | |
| Uniform (Type type, const std::string &name, int numElements=1) | |
| Uniform (const Uniform &rhs, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
| Copy constructor using CopyOp to manage deep vs shallow copy. More... | |
| META_Object (osg, Uniform) | |
| virtual Uniform * | asUniform () |
| Convert 'this' into a Uniform pointer if Object is a Uniform, otherwise return 0. More... | |
| virtual const Uniform * | asUniform () const |
| convert 'const this' into a const Uniform pointer if Object is a Uniform, otherwise return 0. More... | |
| bool | setType (Type t) |
| Set the type of glUniform, ensuring it is only set once. More... | |
| Type | getType () const |
| Get the type of glUniform as enum. More... | |
| virtual void | setName (const std::string &name) |
| Set the name of the glUniform, ensuring it is only set once. More... | |
| void | setNumElements (unsigned int numElements) |
| Set the length of a uniform, ensuring it is only set once (1==scalar) | |
| unsigned int | getNumElements () const |
| Get the number of GLSL elements of the osg::Uniform (1==scalar) | |
| unsigned int | getInternalArrayNumElements () const |
| Get the number of elements required for the internal data array. More... | |
| Uniform (const char *name, float f) | |
| convenient scalar (non-array) constructors w/ assignment | |
| Uniform (const char *name, double d) | |
| Uniform (const char *name, int i) | |
| Uniform (const char *name, unsigned int ui) | |
| Uniform (const char *name, bool b) | |
| Uniform (const char *name, const osg::Vec2 &v2) | |
| Uniform (const char *name, const osg::Vec3 &v3) | |
| Uniform (const char *name, const osg::Vec4 &v4) | |
| Uniform (const char *name, const osg::Vec2d &v2) | |
| Uniform (const char *name, const osg::Vec3d &v3) | |
| Uniform (const char *name, const osg::Vec4d &v4) | |
| Uniform (const char *name, const osg::Matrix2 &m2) | |
| Uniform (const char *name, const osg::Matrix3 &m3) | |
| Uniform (const char *name, const osg::Matrixf &m4) | |
| Uniform (const char *name, const osg::Matrix2x3 &m2x3) | |
| Uniform (const char *name, const osg::Matrix2x4 &m2x4) | |
| Uniform (const char *name, const osg::Matrix3x2 &m3x2) | |
| Uniform (const char *name, const osg::Matrix3x4 &m3x4) | |
| Uniform (const char *name, const osg::Matrix4x2 &m4x2) | |
| Uniform (const char *name, const osg::Matrix4x3 &m4x3) | |
| Uniform (const char *name, const osg::Matrix2d &m2) | |
| Uniform (const char *name, const osg::Matrix3d &m3) | |
| Uniform (const char *name, const osg::Matrixd &m4) | |
| Uniform (const char *name, const osg::Matrix2x3d &m2x3) | |
| Uniform (const char *name, const osg::Matrix2x4d &m2x4) | |
| Uniform (const char *name, const osg::Matrix3x2d &m3x2) | |
| Uniform (const char *name, const osg::Matrix3x4d &m3x4) | |
| Uniform (const char *name, const osg::Matrix4x2d &m4x2) | |
| Uniform (const char *name, const osg::Matrix4x3d &m4x3) | |
| Uniform (const char *name, int i0, int i1) | |
| Uniform (const char *name, int i0, int i1, int i2) | |
| Uniform (const char *name, int i0, int i1, int i2, int i3) | |
| Uniform (const char *name, unsigned int ui0, unsigned int ui1) | |
| Uniform (const char *name, unsigned int ui0, unsigned int ui1, unsigned int ui2) | |
| Uniform (const char *name, unsigned int ui0, unsigned int ui1, unsigned int ui2, unsigned int ui3) | |
| Uniform (const char *name, bool b0, bool b1) | |
| Uniform (const char *name, bool b0, bool b1, bool b2) | |
| Uniform (const char *name, bool b0, bool b1, bool b2, bool b3) | |
| virtual int | compare (const Uniform &rhs) const |
| return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. More... | |
| virtual int | compareData (const Uniform &rhs) const |
| bool | operator< (const Uniform &rhs) const |
| bool | operator== (const Uniform &rhs) const |
| bool | operator!= (const Uniform &rhs) const |
| void | copyData (const Uniform &rhs) |
| const ParentList & | getParents () const |
| Get the parent list of this Uniform. More... | |
| ParentList | getParents () |
| Get the a copy of parent list of node. More... | |
| StateSet * | getParent (unsigned int i) |
| const StateSet * | getParent (unsigned int i) const |
| Get a single const parent of this Uniform. More... | |
| unsigned int | getNumParents () const |
| Get the number of parents of this Uniform. More... | |
| bool | set (float f) |
| convenient scalar (non-array) value assignment | |
| bool | set (double d) |
| bool | set (int i) |
| bool | set (unsigned int ui) |
| bool | set (bool b) |
| bool | set (const osg::Vec2 &v2) |
| bool | set (const osg::Vec3 &v3) |
| bool | set (const osg::Vec4 &v4) |
| bool | set (const osg::Vec2d &v2) |
| bool | set (const osg::Vec3d &v3) |
| bool | set (const osg::Vec4d &v4) |
| bool | set (const osg::Matrix2 &m2) |
| bool | set (const osg::Matrix3 &m3) |
| bool | set (const osg::Matrixf &m4) |
| bool | set (const osg::Matrix2x3 &m2x3) |
| bool | set (const osg::Matrix2x4 &m2x4) |
| bool | set (const osg::Matrix3x2 &m3x2) |
| bool | set (const osg::Matrix3x4 &m3x4) |
| bool | set (const osg::Matrix4x2 &m4x2) |
| bool | set (const osg::Matrix4x3 &m4x3) |
| bool | set (const osg::Matrix2d &m2) |
| bool | set (const osg::Matrix3d &m3) |
| bool | set (const osg::Matrixd &m4) |
| bool | set (const osg::Matrix2x3d &m2x3) |
| bool | set (const osg::Matrix2x4d &m2x4) |
| bool | set (const osg::Matrix3x2d &m3x2) |
| bool | set (const osg::Matrix3x4d &m3x4) |
| bool | set (const osg::Matrix4x2d &m4x2) |
| bool | set (const osg::Matrix4x3d &m4x3) |
| bool | set (int i0, int i1) |
| bool | set (int i0, int i1, int i2) |
| bool | set (int i0, int i1, int i2, int i3) |
| bool | set (unsigned int ui0, unsigned int ui1) |
| bool | set (unsigned int ui0, unsigned int ui1, unsigned int ui2) |
| bool | set (unsigned int ui0, unsigned int ui1, unsigned int ui2, unsigned int ui3) |
| bool | set (bool b0, bool b1) |
| bool | set (bool b0, bool b1, bool b2) |
| bool | set (bool b0, bool b1, bool b2, bool b3) |
| bool | get (float &f) const |
| convenient scalar (non-array) value query | |
| bool | get (double &d) const |
| bool | get (int &i) const |
| bool | get (unsigned int &ui) const |
| bool | get (bool &b) const |
| bool | get (osg::Vec2 &v2) const |
| bool | get (osg::Vec3 &v3) const |
| bool | get (osg::Vec4 &v4) const |
| bool | get (osg::Vec2d &v2) const |
| bool | get (osg::Vec3d &v3) const |
| bool | get (osg::Vec4d &v4) const |
| bool | get (osg::Matrix2 &m2) const |
| bool | get (osg::Matrix3 &m3) const |
| bool | get (osg::Matrixf &m4) const |
| bool | get (osg::Matrix2x3 &m2x3) const |
| bool | get (osg::Matrix2x4 &m2x4) const |
| bool | get (osg::Matrix3x2 &m3x2) const |
| bool | get (osg::Matrix3x4 &m3x4) const |
| bool | get (osg::Matrix4x2 &m4x2) const |
| bool | get (osg::Matrix4x3 &m4x3) const |
| bool | get (osg::Matrix2d &m2) const |
| bool | get (osg::Matrix3d &m3) const |
| bool | get (osg::Matrixd &m4) const |
| bool | get (osg::Matrix2x3d &m2x3) const |
| bool | get (osg::Matrix2x4d &m2x4) const |
| bool | get (osg::Matrix3x2d &m3x2) const |
| bool | get (osg::Matrix3x4d &m3x4) const |
| bool | get (osg::Matrix4x2d &m4x2) const |
| bool | get (osg::Matrix4x3d &m4x3) const |
| bool | get (int &i0, int &i1) const |
| bool | get (int &i0, int &i1, int &i2) const |
| bool | get (int &i0, int &i1, int &i2, int &i3) const |
| bool | get (unsigned int &ui0, unsigned int &ui1) const |
| bool | get (unsigned int &ui0, unsigned int &ui1, unsigned int &ui2) const |
| bool | get (unsigned int &ui0, unsigned int &ui1, unsigned int &ui2, unsigned int &ui3) const |
| bool | get (bool &b0, bool &b1) const |
| bool | get (bool &b0, bool &b1, bool &b2) const |
| bool | get (bool &b0, bool &b1, bool &b2, bool &b3) const |
| bool | setElement (unsigned int index, float f) |
| value assignment for array uniforms | |
| bool | setElement (unsigned int index, double d) |
| bool | setElement (unsigned int index, int i) |
| bool | setElement (unsigned int index, unsigned int ui) |
| bool | setElement (unsigned int index, bool b) |
| bool | setElement (unsigned int index, const osg::Vec2 &v2) |
| bool | setElement (unsigned int index, const osg::Vec3 &v3) |
| bool | setElement (unsigned int index, const osg::Vec4 &v4) |
| bool | setElement (unsigned int index, const osg::Vec2d &v2) |
| bool | setElement (unsigned int index, const osg::Vec3d &v3) |
| bool | setElement (unsigned int index, const osg::Vec4d &v4) |
| bool | setElement (unsigned int index, const osg::Matrix2 &m2) |
| bool | setElement (unsigned int index, const osg::Matrix3 &m3) |
| bool | setElement (unsigned int index, const osg::Matrixf &m4) |
| bool | setElement (unsigned int index, const osg::Matrix2x3 &m2x3) |
| bool | setElement (unsigned int index, const osg::Matrix2x4 &m2x4) |
| bool | setElement (unsigned int index, const osg::Matrix3x2 &m3x2) |
| bool | setElement (unsigned int index, const osg::Matrix3x4 &m3x4) |
| bool | setElement (unsigned int index, const osg::Matrix4x2 &m4x2) |
| bool | setElement (unsigned int index, const osg::Matrix4x3 &m4x3) |
| bool | setElement (unsigned int index, const osg::Matrix2d &m2) |
| bool | setElement (unsigned int index, const osg::Matrix3d &m3) |
| bool | setElement (unsigned int index, const osg::Matrixd &m4) |
| bool | setElement (unsigned int index, const osg::Matrix2x3d &m2x3) |
| bool | setElement (unsigned int index, const osg::Matrix2x4d &m2x4) |
| bool | setElement (unsigned int index, const osg::Matrix3x2d &m3x2) |
| bool | setElement (unsigned int index, const osg::Matrix3x4d &m3x4) |
| bool | setElement (unsigned int index, const osg::Matrix4x2d &m4x2) |
| bool | setElement (unsigned int index, const osg::Matrix4x3d &m4x3) |
| bool | setElement (unsigned int index, int i0, int i1) |
| bool | setElement (unsigned int index, int i0, int i1, int i2) |
| bool | setElement (unsigned int index, int i0, int i1, int i2, int i3) |
| bool | setElement (unsigned int index, unsigned int ui0, unsigned int ui1) |
| bool | setElement (unsigned int index, unsigned int ui0, unsigned int ui1, unsigned int ui2) |
| bool | setElement (unsigned int index, unsigned int ui0, unsigned int ui1, unsigned int ui2, unsigned int ui3) |
| bool | setElement (unsigned int index, bool b0, bool b1) |
| bool | setElement (unsigned int index, bool b0, bool b1, bool b2) |
| bool | setElement (unsigned int index, bool b0, bool b1, bool b2, bool b3) |
| bool | getElement (unsigned int index, float &f) const |
| value query for array uniforms | |
| bool | getElement (unsigned int index, double &d) const |
| bool | getElement (unsigned int index, int &i) const |
| bool | getElement (unsigned int index, unsigned int &ui) const |
| bool | getElement (unsigned int index, bool &b) const |
| bool | getElement (unsigned int index, osg::Vec2 &v2) const |
| bool | getElement (unsigned int index, osg::Vec3 &v3) const |
| bool | getElement (unsigned int index, osg::Vec4 &v4) const |
| bool | getElement (unsigned int index, osg::Vec2d &v2) const |
| bool | getElement (unsigned int index, osg::Vec3d &v3) const |
| bool | getElement (unsigned int index, osg::Vec4d &v4) const |
| bool | getElement (unsigned int index, osg::Matrix2 &m2) const |
| bool | getElement (unsigned int index, osg::Matrix3 &m3) const |
| bool | getElement (unsigned int index, osg::Matrixf &m4) const |
| bool | getElement (unsigned int index, osg::Matrix2x3 &m2x3) const |
| bool | getElement (unsigned int index, osg::Matrix2x4 &m2x4) const |
| bool | getElement (unsigned int index, osg::Matrix3x2 &m3x2) const |
| bool | getElement (unsigned int index, osg::Matrix3x4 &m3x4) const |
| bool | getElement (unsigned int index, osg::Matrix4x2 &m4x2) const |
| bool | getElement (unsigned int index, osg::Matrix4x3 &m4x3) const |
| bool | getElement (unsigned int index, osg::Matrix2d &m2) const |
| bool | getElement (unsigned int index, osg::Matrix3d &m3) const |
| bool | getElement (unsigned int index, osg::Matrixd &m4) const |
| bool | getElement (unsigned int index, osg::Matrix2x3d &m2x3) const |
| bool | getElement (unsigned int index, osg::Matrix2x4d &m2x4) const |
| bool | getElement (unsigned int index, osg::Matrix3x2d &m3x2) const |
| bool | getElement (unsigned int index, osg::Matrix3x4d &m3x4) const |
| bool | getElement (unsigned int index, osg::Matrix4x2d &m4x2) const |
| bool | getElement (unsigned int index, osg::Matrix4x3d &m4x3) const |
| bool | getElement (unsigned int index, int &i0, int &i1) const |
| bool | getElement (unsigned int index, int &i0, int &i1, int &i2) const |
| bool | getElement (unsigned int index, int &i0, int &i1, int &i2, int &i3) const |
| bool | getElement (unsigned int index, unsigned int &ui0, unsigned int &ui1) const |
| bool | getElement (unsigned int index, unsigned int &ui0, unsigned int &ui1, unsigned int &ui2) const |
| bool | getElement (unsigned int index, unsigned int &ui0, unsigned int &ui1, unsigned int &ui2, unsigned int &ui3) const |
| bool | getElement (unsigned int index, bool &b0, bool &b1) const |
| bool | getElement (unsigned int index, bool &b0, bool &b1, bool &b2) const |
| bool | getElement (unsigned int index, bool &b0, bool &b1, bool &b2, bool &b3) const |
| void | setUpdateCallback (UniformCallback *uc) |
| Set the UpdateCallback which allows users to attach customize the updating of an object during the update traversal. More... | |
| UniformCallback * | getUpdateCallback () |
| Get the non const UpdateCallback. More... | |
| const UniformCallback * | getUpdateCallback () const |
| Get the const UpdateCallback. More... | |
| void | setEventCallback (UniformCallback *ec) |
| Set the EventCallback which allows users to attach customize the updating of an object during the Event traversal. More... | |
| UniformCallback * | getEventCallback () |
| Get the non const EventCallback. More... | |
| const UniformCallback * | getEventCallback () const |
| Get the const EventCallback. More... | |
| void | dirty () |
| Increment the modified count on the Uniform so Programs watching it know it update themselves. More... | |
| bool | setArray (FloatArray *array) |
| Set the internal data array for a osg::Uniform. | |
| bool | setArray (DoubleArray *array) |
| bool | setArray (IntArray *array) |
| bool | setArray (UIntArray *array) |
| FloatArray * | getFloatArray () |
| Get the internal data array for a float osg::Uniform. More... | |
| const FloatArray * | getFloatArray () const |
| DoubleArray * | getDoubleArray () |
| Get the internal data array for a double osg::Uniform. More... | |
| const DoubleArray * | getDoubleArray () const |
| IntArray * | getIntArray () |
| Get the internal data array for an int osg::Uniform. More... | |
| const IntArray * | getIntArray () const |
| UIntArray * | getUIntArray () |
| Get the internal data array for an unsigned int osg::Uniform. More... | |
| const UIntArray * | getUIntArray () const |
| void | setModifiedCount (unsigned int mc) |
| unsigned int | getModifiedCount () const |
| unsigned int | getNameID () const |
| Get the number that the Uniform's name maps to uniquely. | |
| void | apply (const GLExtensions *ext, GLint location) const |
Public Member Functions inherited from osg::Object | |
| Object () | |
| Construct an object. More... | |
| Object (bool threadSafeRefUnref) | |
| Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
| Copy constructor, optional CopyOp object can be used to control shallow vs deep copying of dynamic data. More... | |
| virtual Object * | cloneType () const =0 |
| Clone the type of an object, with Object* return type. More... | |
| virtual Object * | clone (const CopyOp &) const =0 |
| Clone an object, with Object* return type. More... | |
| virtual bool | isSameKindAs (const Object *) const |
| virtual const char * | libraryName () const =0 |
| return the name of the object's library. More... | |
| virtual const char * | className () const =0 |
| return the name of the object's class type. More... | |
| std::string | getCompoundClassName () const |
| return the compound class name that combines the library name and class name. More... | |
| virtual Node * | asNode () |
| Convert 'this' into a Node pointer if Object is a Node, otherwise return 0. More... | |
| virtual const Node * | asNode () const |
| convert 'const this' into a const Node pointer if Object is a Node, otherwise return 0. More... | |
| virtual NodeVisitor * | asNodeVisitor () |
| Convert 'this' into a NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More... | |
| virtual const NodeVisitor * | asNodeVisitor () const |
| convert 'const this' into a const NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More... | |
| virtual StateAttribute * | asStateAttribute () |
| Convert 'this' into a StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More... | |
| virtual const StateAttribute * | asStateAttribute () const |
| convert 'const this' into a const StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More... | |
| virtual void | setThreadSafeRefUnref (bool threadSafe) |
| Set whether to use a mutex to ensure ref() and unref() are thread safe. More... | |
| void | setName (const char *name) |
| Set the name of object using a C style string. More... | |
| const std::string & | getName () const |
| Get the name of object. More... | |
| void | setDataVariance (DataVariance dv) |
| Set the data variance of this object. More... | |
| DataVariance | getDataVariance () const |
| Get the data variance of this object. More... | |
| virtual void | computeDataVariance () |
| Compute the DataVariance based on an assessment of callback etc. More... | |
| void | setUserDataContainer (osg::UserDataContainer *udc) |
| set the UserDataContainer object. More... | |
| template<class T > | |
| void | setUserDataContainer (const ref_ptr< T > &udc) |
| osg::UserDataContainer * | getUserDataContainer () |
| get the UserDataContainer attached to this object. More... | |
| const osg::UserDataContainer * | getUserDataContainer () const |
| get the const UserDataContainer attached to this object. More... | |
| osg::UserDataContainer * | getOrCreateUserDataContainer () |
| Convenience method that returns the UserDataContainer, and if one doesn't already exist creates and assigns a DefaultUserDataContainer to the Object and then return this new UserDataContainer. More... | |
| virtual void | setUserData (Referenced *obj) |
| Set user data, data must be subclassed from Referenced to allow automatic memory handling. More... | |
| template<class T > | |
| void | setUserData (const ref_ptr< T > &ud) |
| virtual Referenced * | getUserData () |
| Get user data. More... | |
| virtual const Referenced * | getUserData () const |
| Get const user data. More... | |
| template<typename T > | |
| bool | getUserValue (const std::string &name, T &value) const |
| Convenience method that casts the named UserObject to osg::TemplateValueObject<T> and gets the value. More... | |
| template<typename T > | |
| void | setUserValue (const std::string &name, const T &value) |
| Convenience method that creates the osg::TemplateValueObject<T> to store the specified value and adds it as a named UserObject. More... | |
| virtual void | resizeGLObjectBuffers (unsigned int) |
| Resize any per context GLObject buffers to specified size. More... | |
| virtual void | releaseGLObjects (osg::State *=0) const |
| If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context. More... | |
| template<typename T > | |
| BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
| provide implementation of osg::Object::getUserValue(..) template | |
Public Member Functions inherited from osg::Referenced | |
| Referenced (bool threadSafeRefUnref) | |
| Referenced (const Referenced &) | |
| Referenced & | operator= (const Referenced &) |
| bool | getThreadSafeRefUnref () const |
| Get whether a mutex is used to ensure ref() and unref() are thread safe. More... | |
| bool | getThreadSafeRefUnref () const |
| OpenThreads::Mutex * | getRefMutex () const |
| Get the mutex used to ensure thread safety of ref()/unref(). More... | |
| OpenThreads::Mutex * | getRefMutex () const |
| int | ref () const |
| Increment the reference count by one, indicating that this object has another pointer which is referencing it. More... | |
| int | unref () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
| int | unref_nodelete () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
| int | referenceCount () const |
| Return the number of pointers currently referencing this object. More... | |
| ObserverSet * | getObserverSet () const |
| Get the ObserverSet if one is attached, otherwise return NULL. More... | |
| ObserverSet * | getOrCreateObserverSet () const |
| Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More... | |
| void | addObserver (Observer *observer) const |
| Add a Observer that is observing this object, notify the Observer when this object gets deleted. More... | |
| void | removeObserver (Observer *observer) const |
| Remove Observer that is observing this object. More... | |
Static Public Member Functions | |
| static const char * | getTypename (Type t) |
| Return the name of a Type enum as string. More... | |
| static int | getTypeNumComponents (Type t) |
| Return the number of components for a GLSL type. More... | |
| static Uniform::Type | getTypeId (const std::string &tname) |
| Return the Type enum of a Uniform typename string. | |
| static Type | getGlApiType (Type t) |
| Return the GL API type corresponding to a GLSL type. | |
| static GLenum | getInternalArrayType (Type t) |
| Return the internal data array type corresponding to a GLSL type. | |
| static unsigned int | getNameID (const std::string &name) |
| Return the number that the name maps to uniquely. | |
Static Public Member Functions inherited from osg::Referenced | |
| static OpenThreads::Mutex * | getGlobalReferencedMutex () |
| Get the optional global Referenced mutex, this can be shared between all osg::Referenced. More... | |
| static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
| Set whether reference counting should use a mutex for thread safe reference counting. More... | |
| static bool | getThreadSafeReferenceCounting () |
| Get whether reference counting is active. More... | |
| static void | setDeleteHandler (DeleteHandler *handler) |
| Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. More... | |
| static DeleteHandler * | getDeleteHandler () |
| Get a DeleteHandler. More... | |
Protected Member Functions | |
| Uniform & | operator= (const Uniform &) |
| bool | isCompatibleType (Type t) const |
| bool | isCompatibleType (Type t1, Type t2) const |
| bool | isScalar () const |
| void | allocateDataArray () |
| void | addParent (osg::StateSet *object) |
| void | removeParent (osg::StateSet *object) |
Protected Member Functions inherited from osg::Object | |
| virtual | ~Object () |
| Object destructor. More... | |
Protected Member Functions inherited from osg::Referenced | |
| void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
| void | deleteUsingDeleteHandler () const |
Protected Attributes | |
| ParentList | _parents |
| Type | _type |
| unsigned int | _numElements |
| unsigned int | _nameID |
| ref_ptr< FloatArray > | _floatArray |
| ref_ptr< DoubleArray > | _doubleArray |
| ref_ptr< IntArray > | _intArray |
| ref_ptr< UIntArray > | _uintArray |
| ref_ptr< UniformCallback > | _updateCallback |
| ref_ptr< UniformCallback > | _eventCallback |
| unsigned int | _modifiedCount |
Protected Attributes inherited from osg::Object | |
| std::string | _name |
| DataVariance | _dataVariance |
| osg::UserDataContainer * | _userDataContainer |
Protected Attributes inherited from osg::Referenced | |
| OpenThreads::AtomicPtr | _observerSet |
| OpenThreads::Atomic | _refCount |
| OpenThreads::Mutex * | _refMutex |
| int | _refCount |
| void * | _observerSet |
Friends | |
| class | osg::StateSet |
Uniform encapsulates glUniform values.
provide typedef for backwards compatibility to OSG-3.2 and other previous versions.
| typedef std::vector<StateSet*> osg::Uniform::ParentList |
A vector of osg::StateSet pointers which is used to store the parent(s) of this Uniform, the parents could be osg::Node or osg::Drawable.
Copy constructor using CopyOp to manage deep vs shallow copy.
|
inlinevirtual |
Convert 'this' into a Uniform pointer if Object is a Uniform, otherwise return 0.
Equivalent to dynamic_cast<Uniform*>(this).
Reimplemented from osg::Object.
|
inlinevirtual |
convert 'const this' into a const Uniform pointer if Object is a Uniform, otherwise return 0.
Equivalent to dynamic_cast<const Uniform*>(this).
Reimplemented from osg::Object.
|
virtual |
return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.
|
inline |
Increment the modified count on the Uniform so Programs watching it know it update themselves.
NOTE: automatically called during osg::Uniform::set*(); you must call if modifying the internal data array directly.
|
inline |
Get the internal data array for a double osg::Uniform.
|
inline |
Get the non const EventCallback.
|
inline |
Get the const EventCallback.
|
inline |
Get the internal data array for a float osg::Uniform.
|
inline |
Get the internal data array for an int osg::Uniform.
| unsigned int osg::Uniform::getInternalArrayNumElements | ( | ) | const |
Get the number of elements required for the internal data array.
Returns 0 if the osg::Uniform is not properly configured.
|
inline |
|
inline |
Get a single const parent of this Uniform.
| i | index of the parent to get. |
|
inline |
Get the parent list of this Uniform.
|
inline |
Get the a copy of parent list of node.
A copy is returned to prevent modification of the parent list.
|
inline |
Get the type of glUniform as enum.
|
static |
Return the name of a Type enum as string.
|
static |
Return the number of components for a GLSL type.
|
inline |
Get the internal data array for an unsigned int osg::Uniform.
|
inline |
Get the non const UpdateCallback.
|
inline |
Get the const UpdateCallback.
| void osg::Uniform::setEventCallback | ( | UniformCallback * | ec | ) |
Set the EventCallback which allows users to attach customize the updating of an object during the Event traversal.
|
virtual |
Set the name of the glUniform, ensuring it is only set once.
Reimplemented from osg::Object.
| bool osg::Uniform::setType | ( | Type | t | ) |
Set the type of glUniform, ensuring it is only set once.
| void osg::Uniform::setUpdateCallback | ( | UniformCallback * | uc | ) |
Set the UpdateCallback which allows users to attach customize the updating of an object during the update traversal.
1.8.13