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 iTextureHandleGetTextureMappingAsDirect (int unit)=0
 Get texture mapping for a certain unit as a texture name. More...

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

virtual iShaderProgramGetVertexProgram ()=0
 Get vertex-program. More...

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

virtual iShaderProgramGetFragmentProgram ()=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