This reference page is linked to from the following overview topics: 3DXI Property Containers, 3DXI Scene, 3DXI Materials and Textures.
Simple wrapper for 3ds Max materials.
IGameMaterial is IGame Wrapper around a basic Material. It provides access to the basic material properties and Bitmap Textures used by the material. Any material will be wrapped in this class, but only Standard Material is directly supported with API access to the properties. If the material is not directly supported then the data can be access via the IPropertyContainer interface.
#include <IGameMaterial.h>
Public Member Functions |
|
virtual bool | IsMultiType ()=0 |
Check if the material is a Multi Material type. |
|
virtual bool | IsSubObjType ()=0 |
Check if the material is a SubObject style
Multi Material.
|
|
virtual MCHAR * | GetMaterialName ()=0 |
Get the material name as seen in the
Material Editor.
|
|
virtual MCHAR * | GetMaterialClass ()=0 |
Get the material class as seen in the
Material Editor.
|
|
virtual int | GetSubMaterialCount ()=0 |
Get the number of sub materials. |
|
virtual IGameMaterial * | GetSubMaterial (int index)=0 |
Access to any sub material. |
|
virtual int | GetMaterialID (int subIndex)=0 |
Get the MatID for subobject materials.
|
|
virtual IGameProperty * | GetAmbientData ()=0 |
Get the Ambient Data. |
|
virtual IGameProperty * | GetDiffuseData ()=0 |
Get the Diffuse Data. |
|
virtual IGameProperty * | GetEmissiveData ()=0 |
Get the Emissive Data. |
|
virtual IGameProperty * | GetSpecularData ()=0 |
Get the Specular Data. |
|
virtual IGameProperty * | GetOpacityData ()=0 |
Get the Opacity Data. |
|
virtual IGameProperty * | GetGlossinessData ()=0 |
Get the Glossiness Data. |
|
virtual IGameProperty * | GetSpecularLevelData ()=0 |
Get the Specular Level Data. |
|
virtual IGameProperty * | GetEmissiveAmtData ()=0 |
Get the Emissive Amount Data. |
|
virtual int | GetNumberOfTextureMaps ()=0 |
Get the number of Textures used by the
material. |
|
virtual IGameTextureMap * | GetIGameTextureMap (int index)=0 |
Access to the actual Texture Map. |
|
virtual Mtl * | GetMaxMaterial ()=0 |
Access to the actual 3ds Max material
definition. |
|
virtual IGameFX * | GetIGameFX ()=0 |
Access the D3D effect interface for the
material. |
virtual bool IsMultiType | ( | ) | [pure virtual] |
Check if the material is a Multi Material type.
This could be for a Blend or Mix material
virtual bool IsSubObjType | ( | ) | [pure virtual] |
Check if the material is a SubObject style Multi Material.
This could be for 3ds Max's Multi Subobject material
virtual MCHAR* GetMaterialName | ( | ) | [pure virtual] |
Get the material name as seen in the Material Editor.
virtual MCHAR* GetMaterialClass | ( | ) | [pure virtual] |
Get the material class as seen in the Material Editor.
virtual int GetSubMaterialCount | ( | ) | [pure virtual] |
Get the number of sub materials.
The value is used by IGameScene::GetSubMaterial
virtual IGameMaterial* GetSubMaterial | ( | int | index | ) | [pure virtual] |
Access to any sub material.
The sub material is any material used by a multi material. For example, a Top/Bottom material the sub materials would be the top and bottom
index | Index into the submaterial |
virtual int GetMaterialID | ( | int | subIndex | ) | [pure virtual] |
Get the MatID for subobject materials.
This value represents the MatID used on objects to define what faces receive this material
subIndex | The index of the submaterial to retrieve |
virtual IGameProperty* GetAmbientData | ( | ) | [pure virtual] |
virtual IGameProperty* GetDiffuseData | ( | ) | [pure virtual] |
virtual IGameProperty* GetEmissiveData | ( | ) | [pure virtual] |
virtual IGameProperty* GetSpecularData | ( | ) | [pure virtual] |
virtual IGameProperty* GetOpacityData | ( | ) | [pure virtual] |
virtual IGameProperty* GetGlossinessData | ( | ) | [pure virtual] |
virtual IGameProperty* GetSpecularLevelData | ( | ) | [pure virtual] |
virtual IGameProperty* GetEmissiveAmtData | ( | ) | [pure virtual] |
virtual int GetNumberOfTextureMaps | ( | ) | [pure virtual] |
Get the number of Textures used by the material.
virtual IGameTextureMap* GetIGameTextureMap | ( | int | index | ) | [pure virtual] |
Access to the actual Texture Map.
index | The index to the Texture Map to retrieve |
virtual Mtl* GetMaxMaterial | ( | ) | [pure virtual] |
Access to the actual 3ds Max material definition.
This allows developer access to the complete 3ds Max material if further data access is needed
virtual IGameFX* GetIGameFX | ( | ) | [pure virtual] |
Access the D3D effect interface for the material.
This can be NULL if the material does not support effects - currently only the StdMtl2 and DxMaterial are supported