osg::Material Class Reference
List of all members.
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) |
| META_StateAttribute (osg, Material, MATERIAL) |
virtual int | compare (const StateAttribute &sa) const |
Material & | operator= (const Material &rhs) |
virtual bool | getModeUsage (StateAttribute::ModeUsage &) const |
virtual void | apply (State &state) const |
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) |
const Vec4 & | getSpecular (Face face) const |
bool | getSpecularFrontAndBack () const |
void | setEmission (Face face, const Vec4 &emission) |
const Vec4 & | getEmission (Face face) const |
bool | getEmissionFrontAndBack () const |
void | setShininess (Face face, float shininess) |
float | getShininess (Face face) const |
bool | getShininessFrontAndBack () const |
void | setTransparency (Face face, float trans) |
void | setAlpha (Face face, float alpha) |
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 |
Detailed Description
Material - encapsulates OpenGL glMaterial state.
Member Enumeration Documentation
- Enumerator:
AMBIENT |
|
DIFFUSE |
|
SPECULAR |
|
EMISSION |
|
AMBIENT_AND_DIFFUSE |
|
OFF |
means that associated GLMode and Override is disabled.
|
- Enumerator:
FRONT |
|
BACK |
|
FRONT_AND_BACK |
|
Constructor & Destructor Documentation
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] |
Member Function Documentation
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] |
const Vec4& osg::Material::getAmbient |
( |
Face |
face |
) |
const |
bool osg::Material::getAmbientFrontAndBack |
( |
|
) |
const [inline] |
ColorMode osg::Material::getColorMode |
( |
|
) |
const [inline] |
const Vec4& osg::Material::getDiffuse |
( |
Face |
face |
) |
const |
bool osg::Material::getDiffuseFrontAndBack |
( |
|
) |
const [inline] |
const Vec4& osg::Material::getEmission |
( |
Face |
face |
) |
const |
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.
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.
const Vec4& osg::Material::getSpecular |
( |
Face |
face |
) |
const |
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::setAmbient |
( |
Face |
face, |
|
|
const Vec4 & |
ambient | |
|
) |
| | |
void osg::Material::setColorMode |
( |
ColorMode |
mode |
) |
[inline] |
void osg::Material::setDiffuse |
( |
Face |
face, |
|
|
const Vec4 & |
diffuse | |
|
) |
| | |
void osg::Material::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.
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.
void osg::Material::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.
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.
Member Data Documentation
The documentation for this class was generated from the following file: