CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

iShaderPass Struct Reference

Description of a single pass in a shader. More...

#include <shader.h>

Inheritance diagram for iShaderPass:

iBase List of all members.

Public Methods

virtual void AddStreamMapping (csStringID name, csVertexAttrib attribute)=0
 Add a stream mapping. More...

virtual csStringID GetStreamMapping (csVertexAttrib attribute)=0
 Get stream mapping for a certain attribute. More...

virtual void AddTextureMapping (const char *name, int unit)=0
 Add a texture mapping by name. More...

virtual void AddTextureMapping (int layer, int unit)=0
 Add a texture mapping by material layer. More...

virtual int GetTextureMappingAsLayer (int unit)=0
 Get texture mapping for a certain unit as a layer index. More...

virtual iTextureHandle * GetTextureMappingAsDirect (int unit)=0
 Get texture mapping for a certain unit as a texture name. More...

virtual uint GetMixmodeOverride ()=0
 Get mixmode override. More...

virtual iShaderProgram * GetVertexProgram ()=0
 Get vertex-program. More...

virtual void SetVertexProgram (iShaderProgram *program)=0
 Set vertex-program. More...

virtual iShaderProgram * GetFragmentProgram ()=0
 Get fragment-program. More...

virtual void SetFragmentProgram (iShaderProgram *program)=0
 Set fragment-program. More...

virtual bool IsValid ()=0
 Check if valid. More...

virtual void Activate (csRenderMesh *mesh)=0
 Activate the whole pass for the indicated mesh (which might be NULL). More...

virtual void Deactivate ()=0
 Deactivate the whole pass. More...

virtual void SetupState (csRenderMesh *mesh)=0
 Setup states needed for proper operation of the shader. More...

virtual void ResetState ()=0
 Reset states to original. More...

virtual bool AddVariable (iShaderVariable *variable)=0
 Add a variable to this context. More...

virtual iShaderVariable * GetVariable (int namehash)=0
 Get variable. More...

virtual csBasicVector GetAllVariableNames ()=0
 Get all variable stringnames added to this context (used when creatingthem). More...

virtual bool Load (iDataBuffer *program)=0
 Loads pass from buffer. More...

virtual bool Load (iDocumentNode *node)=0
 Loads from a document-node. More...

virtual bool Prepare ()=0
 Prepares the pass for usage. More...


Detailed Description

Description of a single pass in a shader.

Definition at line 186 of file shader.h.


Member Function Documentation

virtual void iShaderPass::Activate (  csRenderMesh *    mesh )  [pure virtual]
 

Activate the whole pass for the indicated mesh (which might be NULL).

virtual void iShaderPass::AddStreamMapping (  csStringID    name,
csVertexAttrib    attribute
)  [pure virtual]
 

Add a stream mapping.

virtual void iShaderPass::AddTextureMapping (  int    layer,
int    unit
)  [pure virtual]
 

Add a texture mapping by material layer.

virtual void iShaderPass::AddTextureMapping (  const char *    name,
int    unit
)  [pure virtual]
 

Add a texture mapping by name.

virtual bool iShaderPass::AddVariable (  iShaderVariable *    variable )  [pure virtual]
 

Add a variable to this context.

virtual void iShaderPass::Deactivate (    )  [pure virtual]
 

Deactivate the whole pass.

virtual csBasicVector iShaderPass::GetAllVariableNames (    )  [pure virtual]
 

Get all variable stringnames added to this context (used when creatingthem).

virtual iShaderProgram* iShaderPass::GetFragmentProgram (    )  [pure virtual]
 

Get fragment-program.

virtual uint iShaderPass::GetMixmodeOverride (    )  [pure virtual]
 

Get mixmode override.

virtual csStringID iShaderPass::GetStreamMapping (  csVertexAttrib    attribute )  [pure virtual]
 

Get stream mapping for a certain attribute.

virtual iTextureHandle* iShaderPass::GetTextureMappingAsDirect (  int    unit )  [pure virtual]
 

Get texture mapping for a certain unit as a texture name.

virtual int iShaderPass::GetTextureMappingAsLayer (  int    unit )  [pure virtual]
 

Get texture mapping for a certain unit as a layer index.

virtual iShaderVariable* iShaderPass::GetVariable (  int    namehash )  [pure virtual]
 

Get variable.

virtual iShaderProgram* iShaderPass::GetVertexProgram (    )  [pure virtual]
 

Get vertex-program.

virtual bool iShaderPass::IsValid (    )  [pure virtual]
 

Check if valid.

virtual bool iShaderPass::Load (  iDocumentNode *    node )  [pure virtual]
 

Loads from a document-node.

virtual bool iShaderPass::Load (  iDataBuffer *    program )  [pure virtual]
 

Loads pass from buffer.

virtual bool iShaderPass::Prepare (    )  [pure virtual]
 

Prepares the pass for usage.

virtual void iShaderPass::ResetState (    )  [pure virtual]
 

Reset states to original.

virtual void iShaderPass::SetFragmentProgram (  iShaderProgram *    program )  [pure virtual]
 

Set fragment-program.

virtual void iShaderPass::SetupState (  csRenderMesh *    mesh )  [pure virtual]
 

Setup states needed for proper operation of the shader.

virtual void iShaderPass::SetVertexProgram (  iShaderProgram *    program )  [pure virtual]
 

Set vertex-program.


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