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 |