|
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 |