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 Methods |
| 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.
|
virtual void | getAssociatedModes (std::vector< GLMode > &modes) const |
| return the modes associated with this StateSet
|
virtual void | apply (State &state) const |
| apply the OpenGL state attributes.
|
void | setColorMode (const ColorMode mode) |
const ColorMode | getColorMode () const |
void | setAmbient (const Face face, const Vec4 &ambient) |
const Vec4 & | getAmbient (const Face face) const |
const bool | getAmbientFrontAndBack () const |
void | setDiffuse (const Face face, const Vec4 &diffuse) |
const Vec4 & | getDiffuse (const Face face) const |
const bool | getDiffuseFrontAndBack () const |
void | setSpecular (const 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 (const Face face) const |
| Get the specular value for specified face.
|
const bool | getSpecularFrontAndBack () const |
| Get the whether specular values are equal for front and back faces.
|
void | setEmission (const Face face, const Vec4 &emission) |
| Set emission value of specified face(s) of the material, valid emmison[0..3] range is 0.0 to 1.0.
|
const Vec4 & | getEmission (const Face face) const |
| Get the emmsion value for specified face.
|
const bool | getEmissionFrontAndBack () const |
| Get the whether emission values are equal for front and back faces.
|
void | setShininess (const Face face, float shininess) |
| Set shininess of specified face(s) of the material, valid shininess range is 0.0 to 128.0.
|
const float | getShininess (const Face face) const |
| Get the shininess value for specified face.
|
const bool | getShininessFrontAndBack () const |
| Get the whether shininess values are equal for front and back faces.
|
void | setTransparency (const Face face, float trans) |
| Set the alpha value of ambient,diffuse,specular and emission colors, of specified face, to 1-transparency.
|
void | setAlpha (const Face face, float alpha) |
| Set the alpha value of ambient,diffuse,specular and emission colors.
|
Protected Methods |
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 |