|
Public Types |
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.
|
enum | Type {
FLOAT = GL_FLOAT,
FLOAT_VEC2 = GL_FLOAT_VEC2,
FLOAT_VEC3 = GL_FLOAT_VEC3,
FLOAT_VEC4 = GL_FLOAT_VEC4,
INT = GL_INT,
INT_VEC2 = GL_INT_VEC2,
INT_VEC3 = GL_INT_VEC3,
INT_VEC4 = GL_INT_VEC4,
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,
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,
UNDEFINED = -1
} |
Public Member Functions |
| Uniform () |
| Uniform (Type type, const std::string &name) |
| Uniform (const Uniform &rhs, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
| Copy constructor using CopyOp to manage deep vs shallow copy.
|
| META_Object (osg, Uniform) |
bool | setType (Type t) |
| Set the type of glUniform.
|
const Type | getType () const |
| Get the type of glUniform as enum.
|
void | setName (const std::string &name) |
| Set the name of the glUniform, checking to make sure its only set once.
|
| Uniform (const char *name, float f) |
| convenient construction w/ assignment
|
| Uniform (const char *name, int i) |
| 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::Matrix2 &m2) |
| Uniform (const char *name, const osg::Matrix3 &m3) |
| Uniform (const char *name, const osg::Matrixf &m4) |
| Uniform (const char *name, const osg::Matrixd &m4) |
| 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, 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.
|
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.
|
ParentList | getParents () |
| Get the a copy of parent list of node.
|
StateSet * | getParent (unsigned int i) |
const StateSet * | getParent (unsigned int i) const |
| Get a single const parent of this Uniform.
|
unsigned int | getNumParents () const |
| Get the number of parents of this Uniform.
|
bool | set (float f) |
| value assignment
|
bool | set (int i) |
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::Matrix2 &m2) |
bool | set (const osg::Matrix3 &m3) |
bool | set (const osg::Matrixf &m4) |
bool | set (const osg::Matrixd &m4) |
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 (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 |
| value query
|
bool | get (int &i) 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::Matrix2 &m2) const |
bool | get (osg::Matrix3 &m3) const |
bool | get (osg::Matrixf &m4) const |
bool | get (osg::Matrixd &m4) 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 (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 |
void | setUpdateCallback (Callback *uc) |
| Set the UpdateCallback which allows users to attach customize the updating of an object during the update traversal.
|
Callback * | getUpdateCallback () |
| Get the non const UpdateCallback.
|
const Callback * | getUpdateCallback () const |
| Get the const UpdateCallback.
|
void | setEventCallback (Callback *ec) |
| Set the EventCallback which allows users to attach customize the updating of an object during the Event traversal.
|
Callback * | getEventCallback () |
| Get the non const EventCallback.
|
const Callback * | getEventCallback () const |
| Get the const EventCallback.
|
void | dirty () |
| Increment the modified count on the Uniform so ProgramObjects watching it know it update themselves.
|
void | setModifiedCount (unsigned int mc) |
unsigned int | getModifiedCount () const |
void | apply (const GL2Extensions *ext, GLint location) const |
Static Public Member Functions |
const char * | getTypename (Type t) |
| Return the name of a Type enum as string.
|
Uniform::Type | getTypeId (const std::string &tname) |
| Return the Type enum of a Uniform typename string.
|
Type | getGlApiType (Type t) |
| Return the GL API type corresponding to a GLSL type.
|
Protected Member Functions |
virtual | ~Uniform () |
Uniform & | operator= (const Uniform &) |
bool | isCompatibleType (Type t) const |
void | addParent (osg::StateSet *object) |
void | removeParent (osg::StateSet *object) |
Protected Attributes |
ParentList | _parents |
Type | _type |
union { |
GLfloat f1 |
GLfloat f2 [2] |
GLfloat f3 [3] |
GLfloat f4 [4] |
GLfloat f9 [9] |
GLfloat f16 [16] |
GLint i1 |
GLint i2 [2] |
GLint i3 [3] |
GLint i4 [4] |
} | _data |
ref_ptr< Callback > | _updateCallback |
ref_ptr< Callback > | _eventCallback |
unsigned int | _modifiedCount |