CrystalSpace

Public API Reference

Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

iMaterial Struct Reference
[3D]

This class represents a material as seen from the engine view. More...

#include <ivideo/material.h>

Inheritance diagram for iMaterial:

iShaderVariableContext iBase List of all members.

Public Member Functions

virtual void SetShader (csStringID type, iShader *shader)=0
 Associate a shader with a shader type.
virtual iShaderGetShader (csStringID type)=0
 Get shader associated with a shader type.
virtual const csHash< csRef<
iShader >, csStringID > & 
GetShaders () const =0
 Get all Shaders.
virtual iTextureHandleGetTexture ()=0
 Get the base texture from the material.
virtual iTextureHandleGetTexture (csStringID name)=0
 Get a texture from the material.
virtual int GetTextureLayerCount ()=0
 Get the number of texture layers.
virtual csTextureLayerGetTextureLayer (int idx)=0
 Get a texture layer.
virtual void GetFlatColor (csRGBpixel &oColor, bool useTextureMean=true)=0
 Get the flat color.
virtual void SetFlatColor (const csRGBcolor &col)=0
 Set the flat shading color.
virtual void GetReflection (float &oDiffuse, float &oAmbient, float &oReflection)=0
 Get light reflection parameters for this material.
virtual void SetReflection (float oDiffuse, float oAmbient, float oReflection)=0
 Set the reflection parameters.

Detailed Description

This class represents a material as seen from the engine view.

You need to register this to the texture manager to get a handle to an internal compiled material. This interface plays same role related to iMaterialHandle as iImage plays related to iTextureHandle.

Main creators of instances implementing this interface:

Main ways to get pointers to this interface: Main users of this interface:

Definition at line 106 of file material.h.


Member Function Documentation

virtual void iMaterial::GetFlatColor csRGBpixel oColor,
bool  useTextureMean = true
[pure virtual]
 

Get the flat color.

If the material has a texture assigned, this will return the mean texture color.

virtual void iMaterial::GetReflection float &  oDiffuse,
float &  oAmbient,
float &  oReflection
[pure virtual]
 

Get light reflection parameters for this material.

virtual iShader* iMaterial::GetShader csStringID  type  )  [pure virtual]
 

Get shader associated with a shader type.

virtual const csHash<csRef<iShader>, csStringID>& iMaterial::GetShaders  )  const [pure virtual]
 

Get all Shaders.

virtual iTextureHandle* iMaterial::GetTexture csStringID  name  )  [pure virtual]
 

Get a texture from the material.

virtual iTextureHandle* iMaterial::GetTexture  )  [pure virtual]
 

Get the base texture from the material.

virtual csTextureLayer* iMaterial::GetTextureLayer int  idx  )  [pure virtual]
 

Get a texture layer.

OR only!

virtual int iMaterial::GetTextureLayerCount  )  [pure virtual]
 

Get the number of texture layers.

The base texture is not counted in this. OR only!

virtual void iMaterial::SetFlatColor const csRGBcolor col  )  [pure virtual]
 

Set the flat shading color.

virtual void iMaterial::SetReflection float  oDiffuse,
float  oAmbient,
float  oReflection
[pure virtual]
 

Set the reflection parameters.

virtual void iMaterial::SetShader csStringID  type,
iShader shader
[pure virtual]
 

Associate a shader with a shader type.


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.3.9.1