OpenSceneGraph 2.8.4
|
Material - encapsulates OpenGL glMaterial state. More...
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 } |
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. | |
Protected Member Functions | |
virtual | ~Material () |
Protected Attributes | |
ColorMode | _colorMode |
bool | _ambientFrontAndBack |
Vec4 | _ambientFront |
Vec4 | _ambientBack |
bool | _diffuseFrontAndBack |
Vec4 | _diffuseFront |
Vec4 | _diffuseBack |
bool | _specularFrontAndBack |
Vec4 | _specularFront |
Vec4 | _specularBack |
bool | _emissionFrontAndBack |
Vec4 | _emissionFront |
Vec4 | _emissionBack |
bool | _shininessFrontAndBack |
float | _shininessFront |
float | _shininessBack |
Material - encapsulates OpenGL glMaterial state.
enum osg::Material::Face |
osg::Material::Material | ( | ) |
osg::Material::Material | ( | const Material & | mat, |
const CopyOp & | copyop = CopyOp::SHALLOW_COPY |
||
) | [inline] |
Copy constructor using CopyOp to manage deep vs shallow copy.
virtual osg::Material::~Material | ( | ) | [protected, virtual] |
virtual void osg::Material::apply | ( | State & | ) | const [virtual] |
apply the OpenGL state attributes.
The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state.
Reimplemented from osg::StateAttribute.
virtual int osg::Material::compare | ( | const StateAttribute & | sa | ) | const [inline, virtual] |
return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.
Implements osg::StateAttribute.
References COMPARE_StateAttribute_Parameter, and COMPARE_StateAttribute_Types.
bool osg::Material::getAmbientFrontAndBack | ( | ) | const [inline] |
ColorMode osg::Material::getColorMode | ( | ) | const [inline] |
bool osg::Material::getDiffuseFrontAndBack | ( | ) | const [inline] |
Get the emission value for specified face.
bool osg::Material::getEmissionFrontAndBack | ( | ) | const [inline] |
Return whether emission values are equal for front and back faces or not.
virtual bool osg::Material::getModeUsage | ( | StateAttribute::ModeUsage & | ) | const [inline, virtual] |
Return the modes associated with this StateAttribute.
Reimplemented from osg::StateAttribute.
float osg::Material::getShininess | ( | Face | face | ) | const |
Get the shininess value for specified face.
bool osg::Material::getShininessFrontAndBack | ( | ) | const [inline] |
Return whether shininess values are equal for front and back faces or not.
Get the specular value for specified face.
bool osg::Material::getSpecularFrontAndBack | ( | ) | const [inline] |
Return whether specular values are equal for front and back faces or not.
osg::Material::META_StateAttribute | ( | osg | , |
Material | , | ||
MATERIAL | |||
) |
void osg::Material::setAlpha | ( | Face | face, |
float | alpha | ||
) |
Set the alpha value of ambient, diffuse, specular and emission colors.
Valid transparency range is 0.0 to 1.0.
void osg::Material::setColorMode | ( | ColorMode | mode | ) | [inline] |
Set emission value of specified face(s) of the material, valid emission[0..3] range is 0.0 to 1.0.
void osg::Material::setShininess | ( | Face | face, |
float | shininess | ||
) |
Set shininess of specified face(s) of the material.
valid shininess range is 0.0 to 128.0.
Set specular value of specified face(s) of the material, valid specular[0..3] range is 0.0 to 1.0.
void osg::Material::setTransparency | ( | Face | face, |
float | trans | ||
) |
Set the alpha value of ambient, diffuse, specular and emission colors of specified face, to 1-transparency.
Valid transparency range is 0.0 to 1.0.
Vec4 osg::Material::_ambientBack [protected] |
Vec4 osg::Material::_ambientFront [protected] |
bool osg::Material::_ambientFrontAndBack [protected] |
ColorMode osg::Material::_colorMode [protected] |
Vec4 osg::Material::_diffuseBack [protected] |
Vec4 osg::Material::_diffuseFront [protected] |
bool osg::Material::_diffuseFrontAndBack [protected] |
Vec4 osg::Material::_emissionBack [protected] |
Vec4 osg::Material::_emissionFront [protected] |
bool osg::Material::_emissionFrontAndBack [protected] |
float osg::Material::_shininessBack [protected] |
float osg::Material::_shininessFront [protected] |
bool osg::Material::_shininessFrontAndBack [protected] |
Vec4 osg::Material::_specularBack [protected] |
Vec4 osg::Material::_specularFront [protected] |
bool osg::Material::_specularFrontAndBack [protected] |
![]() | Generated at Sun Jan 8 2012 13:16:13 for the OpenSceneGraph by doxygen 1.7.4. |