CrystalSpace

Public API Reference

iMaterial Struct Reference
[3D]

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

#include <ivideo/material.h>

Inheritance diagram for iMaterial:

List of all members.

Public Member Functions

virtual iShaderGetFirstShader (const csStringID *types, size_t numTypes)=0
 Get shader for the first type from types that as a shader attached.
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 (CS::ShaderVarStringID name)=0
 Get a texture from the material.
virtual iTextureHandleGetTexture ()=0
 Get the base ("tex diffuse") texture from the material.
virtual void SetShader (csStringID type, iShader *shader)=0
 Associate a shader with a shader type.

Detailed Description

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

Because it is also a shader variable context it can be used directly for rendering.

Main creators of instances implementing this interface:

Main ways to get pointers to this interface:

Main users of this interface:

Definition at line 55 of file material.h.


Member Function Documentation

virtual iShader* iMaterial::GetFirstShader ( const csStringID types,
size_t  numTypes 
) [pure virtual]

Get shader for the first type from types that as a shader attached.

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 ( CS::ShaderVarStringID  name  )  [pure virtual]

Get a texture from the material.

Remarks:
A material can have an arbitrary number of textures attached. What texture is used to what effect depends on the actual shader(s) used at runtime.
virtual iTextureHandle* iMaterial::GetTexture (  )  [pure virtual]

Get the base ("tex diffuse") texture from the material.

Remarks:
A material can have an arbitrary number of textures attached, however not necessarily a diffuse texture. What texture is used to what effect depends on the actual shader(s) used at runtime.
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 2.1 by doxygen 1.6.1