CrystalSpace

Public API Reference

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

iShaderManager Struct Reference

A manager for all shaders. More...

#include <ivideo/shader/shader.h>

Inheritance diagram for iShaderManager:

iShaderVariableContext iBase List of all members.

Public Member Functions

virtual void RegisterShader (iShader *shader)=0
 Register a shader to the shadermanager.
virtual void UnregisterShader (iShader *shader)=0
 Unregister a shader.
virtual iShaderGetShader (const char *name)=0
 Get a shader by name.
virtual const csRefArray<
iShader > & 
GetShaders ()=0
 Returns all shaders that have been created.
virtual void RegisterCompiler (iShaderCompiler *compiler)=0
 Register a compiler to the manager.
virtual iShaderCompilerGetCompiler (const char *name)=0
 Get a shadercompiler by name.
virtual csShaderVarStackGetShaderVariableStack ()=0
 Get the shadervariablestack used to handle shadervariables on rendering.
virtual void SetTagOptions (csStringID tag, csShaderTagPresence presence, int priority=0)=0
 Set a technique tag's options.
virtual void GetTagOptions (csStringID tag, csShaderTagPresence &presence, int &priority)=0
 Get a technique tag's options.
virtual const csSet< csStringID > & GetTags (csShaderTagPresence presence, int &count)=0
 Get the list of all tags with a specific presence setting.

Detailed Description

A manager for all shaders.

Will only be one at a given time

Definition at line 129 of file shader.h.


Member Function Documentation

virtual iShaderCompiler* iShaderManager::GetCompiler const char *  name  )  [pure virtual]
 

Get a shadercompiler by name.

virtual iShader* iShaderManager::GetShader const char *  name  )  [pure virtual]
 

Get a shader by name.

virtual const csRefArray<iShader>& iShaderManager::GetShaders  )  [pure virtual]
 

Returns all shaders that have been created.

virtual csShaderVarStack& iShaderManager::GetShaderVariableStack  )  [pure virtual]
 

Get the shadervariablestack used to handle shadervariables on rendering.

virtual void iShaderManager::GetTagOptions csStringID  tag,
csShaderTagPresence presence,
int &  priority
[pure virtual]
 

Get a technique tag's options.

Parameters:
tag The ID of the tag.
presence Whether the presence of a tag is required, forbidden or neither of both.
priority The tag's priority. The sum of all tag priorities is decisive when two shader techniques have the same technique priority.

virtual const csSet<csStringID>& iShaderManager::GetTags csShaderTagPresence  presence,
int &  count
[pure virtual]
 

Get the list of all tags with a specific presence setting.

virtual void iShaderManager::RegisterCompiler iShaderCompiler compiler  )  [pure virtual]
 

Register a compiler to the manager.

virtual void iShaderManager::RegisterShader iShader shader  )  [pure virtual]
 

Register a shader to the shadermanager.

Compiler should register all shaders

virtual void iShaderManager::SetTagOptions csStringID  tag,
csShaderTagPresence  presence,
int  priority = 0
[pure virtual]
 

Set a technique tag's options.

Parameters:
tag The ID of the tag.
presence Whether the presence of a tag is required, forbidden or neither of both.
priority The tag's priority. The sum of all tag priorities is decisive when two shader techniques have the same technique priority.

virtual void iShaderManager::UnregisterShader iShader shader  )  [pure virtual]
 

Unregister a shader.


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