vtlib library
|
Inherits StateSet.
Public Member Functions | |
void | CopyFrom (vtMaterial *pFrom) |
void | SetDiffuse (float r, float g, float b, float a=1.0f) |
RGBAf | GetDiffuse () const |
void | SetSpecular (float r, float g, float b) |
RGBf | GetSpecular () const |
void | SetAmbient (float r, float g, float b) |
RGBf | GetAmbient () const |
void | SetEmission (float r, float g, float b) |
RGBf | GetEmission () const |
void | SetCulling (bool bCulling) |
bool | GetCulling () const |
void | SetLighting (bool bLighting) |
bool | GetLighting () const |
void | SetTransparent (bool bOn, bool bAdd=false) |
bool | GetTransparent () const |
void | SetWireframe (bool bOn) |
bool | GetWireframe () const |
void | SetTexture1D (osg::Image *pImage, int unit=0) |
void | SetTexture2D (osg::Image *pImage, int unit=0, bool bCompression=false) |
osg::Image * | GetTextureImage (int unit=0) const |
void | ModifiedTexture (int unit=0) |
void | SetClamp (bool bClamp, int unit=0) |
bool | GetClamp (int unit=0) const |
void | SetMipMap (bool bMipMap, int unit=0) |
bool | GetMipMap (int unit=0) const |
A material is a description of how geometry (typically, a surface) should be rendered. For a good description of how Materials work, see the opengl.org website or the OpenGL Red Book.
vtlib's concept of a material is slightly more broad than OpenGL's, because it includes texture and transparency (alpha). It maps closely to OSG's "state set", though that is even broader in scope.
void vtMaterial::CopyFrom | ( | vtMaterial * | pFrom | ) |
Copy this material from another.
RGBf vtMaterial::GetAmbient | ( | ) | const |
Get the ambient color of this material.
bool vtMaterial::GetClamp | ( | int | unit = 0 | ) | const |
Get the texture clamping property of this material.
bool vtMaterial::GetCulling | ( | ) | const |
Get the backface culling property of this material.
RGBAf vtMaterial::GetDiffuse | ( | ) | const |
Get the diffuse color of this material.
RGBf vtMaterial::GetEmission | ( | ) | const |
Get the emissive color of this material.
bool vtMaterial::GetLighting | ( | ) | const |
Get the lighting property of this material.
bool vtMaterial::GetMipMap | ( | int | unit = 0 | ) | const |
Get the texture mipmapping property of this material.
RGBf vtMaterial::GetSpecular | ( | ) | const |
Get the specular color of this material.
osg::Image * vtMaterial::GetTextureImage | ( | int | unit = 0 | ) | const |
Returns the texture (image) associated with a material.
bool vtMaterial::GetTransparent | ( | ) | const |
Get the transparent property of this material.
bool vtMaterial::GetWireframe | ( | ) | const |
Get the wireframe property of this material.
void vtMaterial::ModifiedTexture | ( | int | unit = 0 | ) |
Call this method to tell vtlib that you have modified the contents of a texture so it needs to be sent again to the graphics card.
void vtMaterial::SetAmbient | ( | float | r, |
float | g, | ||
float | b | ||
) |
Set the ambient color of this material.
void vtMaterial::SetClamp | ( | bool | bClamp, |
int | unit = 0 |
||
) |
Set the texture clamping property for this material. Clamp=true prevents sub-texel interpolation at the edge of the texture. Default is false.
void vtMaterial::SetCulling | ( | bool | bCulling | ) |
Set the backface culling property of this material.
void vtMaterial::SetDiffuse | ( | float | r, |
float | g, | ||
float | b, | ||
float | a = 1.0f |
||
) |
Set the diffuse color of this material.
r,g,b | The rgb value (0.0 to 1.0) of this material |
a | For a material with transparency enabled, the alpha component of the diffuse color determines the overall transparency of the material. This value ranges from 0 (totally transparent) to 1 (totally opaque.) |
void vtMaterial::SetEmission | ( | float | r, |
float | g, | ||
float | b | ||
) |
Set the emissive color of this material.
void vtMaterial::SetLighting | ( | bool | bLighting | ) |
Set the lighting property of this material.
void vtMaterial::SetMipMap | ( | bool | bMipMap, |
int | unit = 0 |
||
) |
Set the texture mipmapping property for this material. Mip-mapping provides smoother interpolation of the textured geometry when it is under-sampled (generally when it is in the distance.) Useful for avoiding unpleasant aliasing artifacts, but costs 1/3 more texture memory.
void vtMaterial::SetSpecular | ( | float | r, |
float | g, | ||
float | b | ||
) |
Set the specular color of this material.
void vtMaterial::SetTexture1D | ( | osg::Image * | pImage, |
int | unit = 0 |
||
) |
Set the texture for this material.
void vtMaterial::SetTexture2D | ( | osg::Image * | pImage, |
int | unit = 0 , |
||
bool | bCompression = false |
||
) |
Set the texture for this material.
void vtMaterial::SetTransparent | ( | bool | bOn, |
bool | bAdd = false |
||
) |
Set the transparent property of this material.
bOn | True to turn on transparency (blending). |
bAdd | True for additive blending. |
void vtMaterial::SetWireframe | ( | bool | bOn | ) |
Set the wireframe property of this material.
bOn | True to turn on wireframe. |