|
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 (ModeUsage &usage) 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 |