96 void Init(Mtl * mtl,
char *materialColorTexture=
NULL);
106 void Set_Mapper_Args(
const char *args_buffer,
int pass = 0,
int stage = 0);
215 int Add_Vertex_Material(
W3dVertexMaterialStruct * vmat,
const char *mapper_args0,
const char *mapper_args1,
int pass,
const char * name);
217 int Add_Texture(
W3dMapClass * map,
int pass,
int stage);
218 unsigned long Compute_Crc(
const W3dVertexMaterialStruct & vmat,
const char *mapper_args0,
const char *mapper_args1);
220 unsigned long Compute_Crc(
const W3dMapClass & map);
221 unsigned long Add_String_To_Crc(
const char *str,
unsigned long crc);
229 class MaterialRemapClass
232 MaterialRemapClass(
void);
234 bool operator != (
const MaterialRemapClass & that);
235 bool operator == (
const MaterialRemapClass & that);
257 VertMatClass & VertMatClass::operator = (
const VertMatClass & that);
258 bool operator != (
const VertMatClass & that);
259 bool operator == (
const VertMatClass & that);
260 void Set_Name(
const char * name);
261 void Set_Mapper_Args(
const char * args,
int stage);
263 W3dVertexMaterialStruct Material;
278 ShadeClass & operator = (
const ShadeClass & that) { Shader = that.Shader; Crc = that.Crc;
return *
this;}
279 bool operator != (
const ShadeClass & that) {
return !(*
this == that); }
280 bool operator == (
const ShadeClass & that) { assert(0);
return false; }
282 W3dShaderStruct Shader;
294 TexClass & operator = (
const TexClass & that) { Map = that.Map; Crc = that.Crc;
return *
this; }
295 bool operator != (
const TexClass & that) {
return !(*
this == that); }
296 bool operator == (
const TexClass & that) { assert(0);
return false; }
304 DynamicVectorClass < MaterialRemapClass > MaterialRemaps;
305 DynamicVectorClass < ShadeClass > Shaders;
306 DynamicVectorClass < VertMatClass > VertexMaterials;
307 DynamicVectorClass < TexClass > Textures;
void Set_Anim_Info(const W3dTextureInfoStruct *info)
void Set_Filename(const char *name)
W3dMapClass & operator=(const W3dMapClass &that)
W3dTextureInfoStruct * AnimInfo
void Set_Vertex_Material(const W3dVertexMaterialStruct &vmat, int pass=0)
void Set_Sort_Level(int level)
char * MapperArgs[MAX_PASSES][MAX_STAGES]
int Get_Sort_Level(void) const
const char * Get_Mapper_Args(int pass, int stage) const
W3dMapClass * Textures[MAX_PASSES][MAX_STAGES]
void Set_Shader(const W3dShaderStruct &shader, int pass=0)
void Set_Map_Channel(int pass, int stage, int channel)
int Get_Pass_Count(void) const
W3dVertexMaterialStruct * Materials[MAX_PASSES]
W3dMapClass * Get_Texture(int pass=0, int stage=0) const
int Get_Map_Channel(int pass=0, int stage=0) const
W3dVertexMaterialStruct * Get_Vertex_Material(int pass=0) const
int MapChannel[MAX_PASSES][MAX_STAGES]
void Set_Pass_Count(int count)
bool Is_Multi_Pass_Transparent(void) const
unsigned int Get_Surface_Type(void) const
void Set_Mapper_Args(const char *args_buffer, int pass=0, int stage=0)
W3dShaderStruct Shaders[MAX_PASSES]
void Init(Mtl *mtl, char *materialColorTexture=NULL)
W3dShaderStruct Get_Shader(int pass=0) const
void Set_Surface_Type(unsigned int type)
void Set_Texture(const W3dMapClass &map, int pass=0, int stage=0)
@ INCONSISTENT_SORT_LEVEL
W3dMapClass * Get_Texture(int texture_index)
W3dMaterialDescClass(void)
bool Pass_Uses_Vertex_Alpha(int pass)
const char * Get_Vertex_Material_Name(int mat_index, int pass)
int Vertex_Material_Count(void)
~W3dMaterialDescClass(void)
int Get_Vertex_Material_Index(int mat_index, int pass)
ErrorType Add_Material(const W3dMaterialClass &mat, const char *name=NULL)
W3dShaderStruct * Get_Shader(int shader_index)
bool Stage_Needs_Texture_Coordinates(int pass, int stage)
int Get_Shader_Index(int mat_index, int pass)
const char * Get_Mapper_Args(int vmat_index, int stage)
W3dVertexMaterialStruct * Get_Vertex_Material(int vmat_index)
int Get_Texture_Index(int mat_index, int pass, int stage)
int Get_Map_Channel(int mat_index, int pass, int stage)
bool Pass_Uses_Alpha(int pass)