Public Types |
enum | Face { FRONT = GL_FRONT,
BACK = GL_BACK,
FRONT_AND_BACK = GL_FRONT_AND_BACK
} |
enum | ColorMode {
AMBIENT = GL_AMBIENT,
DIFFUSE = GL_DIFFUSE,
SPECULAR = GL_SPECULAR,
EMISSION = GL_EMISSION,
AMBIENT_AND_DIFFUSE = GL_AMBIENT_AND_DIFFUSE,
OFF
} |
enum | Values {
OFF = 0x0,
ON = 0x1,
OVERRIDE = 0x2,
PROTECTED = 0x4,
INHERIT = 0x8
} |
| list values which can be used to set either GLModeValues or OverrideValues. More...
|
enum | Type {
TEXTURE,
POLYGONMODE,
POLYGONOFFSET,
MATERIAL,
ALPHAFUNC,
ANTIALIAS,
COLORTABLE,
CULLFACE,
FOG,
FRONTFACE,
LIGHT,
POINT,
LINEWIDTH,
LINESTIPPLE,
POLYGONSTIPPLE,
SHADEMODEL,
TEXENV,
TEXENVFILTER,
TEXGEN,
TEXMAT,
LIGHTMODEL,
BLENDFUNC,
BLENDEQUATION,
LOGICOP,
STENCIL,
COLORMASK,
DEPTH,
VIEWPORT,
SCISSOR,
BLENDCOLOR,
MULTISAMPLE,
CLIPPLANE,
COLORMATRIX,
VERTEXPROGRAM,
FRAGMENTPROGRAM,
POINTSPRITE,
PROGRAM,
CLAMPCOLOR,
HINT,
VALIDATOR,
VIEWMATRIXEXTRACTOR,
OSGNV_PARAMETER_BLOCK,
OSGNVEXT_TEXTURE_SHADER,
OSGNVEXT_VERTEX_PROGRAM,
OSGNVEXT_REGISTER_COMBINERS,
OSGNVCG_PROGRAM,
OSGNVSLANG_PROGRAM,
OSGNVPARSE_PROGRAM_PARSER,
UNIFORMBUFFERBINDING,
TRANSFORMFEEDBACKBUFFERBINDING
} |
| Type identifier to differentiate between different state types. More...
|
typedef GLenum | GLMode |
| GLMode is the value used in glEnable/glDisable(mode)
|
typedef unsigned int | GLModeValue |
| GLModeValue is used to specify whether a mode is enabled (ON) or disabled (OFF).
|
typedef unsigned int | OverrideValue |
| Override is used to specify the override behavior of StateAttributes from parent to children.
|
typedef std::pair< Type,
unsigned int > | TypeMemberPair |
| Simple pairing between an attribute type and the member within that attribute type group.
|
typedef std::vector< StateSet * > | ParentList |
| A vector of osg::StateSet pointers which is used to store the parent(s) of this StateAttribute.
|
typedef osg::StateAttributeCallback | Callback |
enum | DataVariance { DYNAMIC,
STATIC,
UNSPECIFIED
} |
Public Member Functions |
| Material () |
| Material (const Material &mat, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
| Copy constructor using CopyOp to manage deep vs shallow copy.
|
| META_StateAttribute (osg, Material, MATERIAL) |
virtual int | compare (const StateAttribute &sa) const |
| return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.
|
Material & | operator= (const Material &rhs) |
virtual bool | getModeUsage (StateAttribute::ModeUsage &) const |
| Return the modes associated with this StateAttribute.
|
virtual void | apply (State &state) const |
| apply the OpenGL state attributes.
|
void | setColorMode (ColorMode mode) |
ColorMode | getColorMode () const |
void | setAmbient (Face face, const Vec4 &ambient) |
const Vec4 & | getAmbient (Face face) const |
bool | getAmbientFrontAndBack () const |
void | setDiffuse (Face face, const Vec4 &diffuse) |
const Vec4 & | getDiffuse (Face face) const |
bool | getDiffuseFrontAndBack () const |
void | setSpecular (Face face, const Vec4 &specular) |
| Set specular value of specified face(s) of the material, valid specular[0..3] range is 0.0 to 1.0.
|
const Vec4 & | getSpecular (Face face) const |
| Get the specular value for specified face.
|
bool | getSpecularFrontAndBack () const |
| Return whether specular values are equal for front and back faces or not.
|
void | setEmission (Face face, const Vec4 &emission) |
| Set emission value of specified face(s) of the material, valid emission[0..3] range is 0.0 to 1.0.
|
const Vec4 & | getEmission (Face face) const |
| Get the emission value for specified face.
|
bool | getEmissionFrontAndBack () const |
| Return whether emission values are equal for front and back faces or not.
|
void | setShininess (Face face, float shininess) |
| Set shininess of specified face(s) of the material.
|
float | getShininess (Face face) const |
| Get the shininess value for specified face.
|
bool | getShininessFrontAndBack () const |
| Return whether shininess values are equal for front and back faces or not.
|
void | setTransparency (Face face, float trans) |
| Set the alpha value of ambient, diffuse, specular and emission colors of specified face, to 1-transparency.
|
void | setAlpha (Face face, float alpha) |
| Set the alpha value of ambient, diffuse, specular and emission colors.
|
| StateAttribute () |
| StateAttribute (const StateAttribute &sa, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
virtual Object * | cloneType () const =0 |
| Clone the type of an attribute, with Object* return type.
|
virtual Object * | clone (const CopyOp &) const =0 |
| Clone an attribute, with Object* return type.
|
virtual bool | isSameKindAs (const Object *obj) const |
| Return true if this and obj are of the same kind of object.
|
virtual const char * | libraryName () const |
| Return the name of the attribute's library.
|
virtual const char * | className () const |
| Return the name of the attribute's class type.
|
virtual Texture * | asTexture () |
| Fast alternative to dynamic_cast<> for determining if state attribute is a Texture.
|
virtual const Texture * | asTexture () const |
| Fast alternative to dynamic_cast<> for determining if state attribute is a Texture.
|
virtual Type | getType () const =0 |
| Return the Type identifier of the attribute's class type.
|
virtual unsigned int | getMember () const |
| Return the member identifier within the attribute's class type.
|
TypeMemberPair | getTypeMemberPair () const |
| Return the TypeMemberPair that uniquely identifies this type member.
|
virtual bool | isTextureAttribute () const |
| Return true if StateAttribute is a type which controls texturing and needs to be issued w.r.t to specific texture unit.
|
bool | operator< (const StateAttribute &rhs) const |
bool | operator== (const StateAttribute &rhs) const |
bool | operator!= (const StateAttribute &rhs) const |
const ParentList & | getParents () const |
| Get the parent list of this StateAttribute.
|
StateSet * | getParent (unsigned int i) |
const StateSet * | getParent (unsigned int i) const |
| Get a single const parent of this StateAttribute.
|
unsigned int | getNumParents () const |
| Get the number of parents of this StateAttribute.
|
void | setShaderComponent (ShaderComponent *sc) |
ShaderComponent * | getShaderComponent () |
const ShaderComponent * | getShaderComponent () const |
virtual bool | checkValidityOfAssociatedModes (osg::State &) const |
| Check the modes associated with this StateAttribute are supported by current OpenGL drivers, and if not set the associated mode in osg::State to be black listed/invalid.
|
void | setUpdateCallback (StateAttributeCallback *uc) |
| Set the UpdateCallback which allows users to attach customize the updating of an object during the update traversal.
|
StateAttributeCallback * | getUpdateCallback () |
| Get the non const UpdateCallback.
|
const StateAttributeCallback * | getUpdateCallback () const |
| Get the const UpdateCallback.
|
void | setEventCallback (StateAttributeCallback *ec) |
| Set the EventCallback which allows users to attach customize the updating of an object during the Event traversal.
|
StateAttributeCallback * | getEventCallback () |
| Get the non const EventCallback.
|
const StateAttributeCallback * | getEventCallback () const |
| Get the const EventCallback.
|
virtual void | compileGLObjects (State &) const |
| Default to nothing to compile - all state is applied immediately.
|
virtual void | resizeGLObjectBuffers (unsigned int) |
| Resize any per context GLObject buffers to specified size.
|
virtual void | releaseGLObjects (State *=0) const |
| Release OpenGL objects in specified graphics context if State object is passed, otherwise release OpenGL objects for all graphics context if State object pointer NULL.
|
| Object () |
| Construct an object.
|
| 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.
|
virtual void | setThreadSafeRefUnref (bool threadSafe) |
| Set whether to use a mutex to ensure ref() and unref() are thread safe.
|
virtual void | setName (const std::string &name) |
| Set the name of object using C++ style string.
|
void | setName (const char *name) |
| Set the name of object using a C style string.
|
const std::string & | getName () const |
| Get the name of object.
|
void | setDataVariance (DataVariance dv) |
| Set the data variance of this object.
|
DataVariance | getDataVariance () const |
| Get the data variance of this object.
|
virtual void | computeDataVariance () |
| Compute the DataVariance based on an assessment of callback etc.
|
void | setUserDataContainer (osg::UserDataContainer *udc) |
| set the UserDataContainer object.
|
osg::UserDataContainer * | getUserDataContainer () |
| get the UserDataContainer attached to this object.
|
const osg::UserDataContainer * | getUserDataContainer () const |
| get the const UserDataContainer attached to this object.
|
osg::UserDataContainer * | getOrCreateUserDataContainer () |
| Convinience 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.
|
virtual void | setUserData (Referenced *obj) |
| Set user data, data must be subclassed from Referenced to allow automatic memory handling.
|
virtual Referenced * | getUserData () |
| Get user data.
|
virtual const Referenced * | getUserData () const |
| Get const user data.
|
template<typename T > |
bool | getUserValue (const std::string &name, T &value) const |
| Convinience method that casts the named UserObject to osg::TemplateValueObject<T> and gets the value.
|
template<typename T > |
void | setUserValue (const std::string &name, const T &value) |
| Convinience method that creates the osg::TemplateValueObject<T> to store the specified value and adds it as a named UserObject.
|
| 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.
|
OpenThreads::Mutex * | getRefMutex () const |
| Get the mutex used to ensure thread safety of ref()/unref().
|
int | ref () const |
| Increment the reference count by one, indicating that this object has another pointer which is referencing it.
|
int | unref () const |
| Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
int | unref_nodelete () const |
| Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
int | referenceCount () const |
| Return the number of pointers currently referencing this object.
|
ObserverSet * | getObserverSet () const |
| Get the ObserverSet if one is attached, otherwise return NULL.
|
ObserverSet * | getOrCreateObserverSet () const |
| Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet.
|
void | addObserver (Observer *observer) const |
| Add a Observer that is observing this object, notify the Observer when this object gets deleted.
|
void | removeObserver (Observer *observer) const |
| Remove Observer that is observing this object.
|
Material - encapsulates OpenGL glMaterial state.