#include <material.h>
Inheritance diagram for Material:
Public Types | |
enum | TEXTURELAYERFLAG { NOFLAGS = 0x0000, MULTIPASS = 0x0001 } |
Texture layer flags. More... | |
enum | TEXTUREADDRESSMODE { WRAP = 0x00000000, WRAP_U = 0x00000000, WRAP_V = 0x00000000, WRAP_W = 0x00000000, CLAMP = 0x00001111, CLAMP_U = 0x00000001, CLAMP_V = 0x00000010, CLAMP_W = 0x00000100 } |
Texture addressing modes To set texture addressing modes, set the wrap to either WRAP or CLAMP for all coordinates, or use WRAP_x or CLAMP_x combinations for detailed control. Default is WRAP for all dimensions. More... | |
enum | TEXCOORDGENERATION { NOGEN = 0, REFLECTION = 1, NORMAL = 2 } |
Automatic texture coordinate generation. More... | |
Public Member Functions | |
Material (const HashString &rstrName, MaterialTable *pkTable=0) | |
Material (const Material &rkMaterial, MaterialTable *pkTable=0) | |
virtual | ~Material () |
void | SetName (const std::string &rstrName) |
const HashString & | GetName () const |
void | SetTable (MaterialTable *pkTable) |
const Material & | operator= (const Material &rkMaterial) |
void | IncRef () |
void | DecRef () |
int | GetRefCount () const |
Static Public Member Functions | |
unsigned int | GetFlagFromString (const std::string &rstrIdentifier) |
Public Attributes | |
Color | m_kAmbient |
Color | m_kDiffuse |
Color | m_kSpecular |
Color | m_kEmission |
float | m_fShininess |
ZBufferMode | m_kZBufferMode |
bool | m_bDynamicShadows |
ProgramPtr | m_pkVertexProgram |
ProgramPtr | m_pkFragmentProgram |
std::vector< TextureLayer * > | m_vpkTextureLayers |
unsigned int | m_uiMaxLights |
BlendMode | m_kBlendMode |
TexturePtr | m_pkTexture |
unsigned int | m_uiUVLayer |
unsigned int | m_uiUVAddress |
std::vector< TextureMatrixGen * > | m_vpkTexMatrixGen |
unsigned int | m_uiLayerFlags |
TEXCOORDGENERATION | m_eTexCoordGen |
Protected Attributes | |
HashString | m_strName |
MaterialTable * | m_pkTable |
|
Texture layer flags.
|
|
Texture addressing modes To set texture addressing modes, set the wrap to either WRAP or CLAMP for all coordinates, or use WRAP_x or CLAMP_x combinations for detailed control. Default is WRAP for all dimensions.
|
|
Automatic texture coordinate generation.
|
|
|
|
Copy data
|
|
Delete data |
|
|
|
|
|
Add material to table
|
|
Assignment
|
|
Increase reference count |
|
Decrease reference count and garbage collect if 0 |
|
|
|
|
|
Name |
|
Table |
|
Ambient color, only used in vertex-lighting path |
|
Diffuse color, only used in vertex-lighting path |
|
Specular color, only used in vertex-lighting path |
|
Emission color, only used in vertex-lighting path |
|
Shininess, only used in vertex-lighting path (range [0..1]) |
|
Z buffer mode |
|
Object should cast dynamic shadows |
|
Vertex program |
|
Fragment program |
|
Texture layers |
|
Number of lights this material can handle in one pass, 0 for infinite |
|
Blend mode |
|
Texture object |
|
UV layer to use, 0 to indicate base layer |
|
Texture addressing mode |
|
Texture matrix generators |
|
Flags |
|
Texture coord generation |