iShaderManager Struct Reference
A manager for all shaders. More...
#include <ivideo/shader/shader.h>
Inheritance diagram for iShaderManager:

| Public Member Functions | |
| virtual const csArray< iLight * > & | GetActiveLights () const =0 | 
| Get the list of active lights. | |
| virtual iShaderCompiler * | GetCompiler (const char *name)=0 | 
| Get a shadercompiler by name. | |
| virtual iShader * | GetShader (const char *name)=0 | 
| Get a shader by name. | |
| virtual const csRefArray< iShader > & | GetShaders ()=0 | 
| Returns all shaders that have been created. | |
| virtual iShaderVarStack * | GetShaderVariableStack ()=0 | 
| Get the shadervariablestack used to handle shadervariables on rendering. | |
| 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. | |
| virtual void | RegisterCompiler (iShaderCompiler *compiler)=0 | 
| Register a compiler to the manager. | |
| virtual void | RegisterShader (iShader *shader)=0 | 
| Register a shader to the shadermanager. | |
| virtual void | SetActiveLights (const csArray< iLight * > &lights)=0 | 
| Set the list of active lights. | |
| virtual void | SetTagOptions (csStringID tag, csShaderTagPresence presence, int priority=0)=0 | 
| Set a technique tag's options. | |
| virtual void | UnregisterShader (iShader *shader)=0 | 
| Unregister a shader. | |
Detailed Description
A manager for all shaders.Will only be one at a given time
Definition at line 174 of file shader.h.
Member Function Documentation
Get the list of active lights.
| 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 iShaderVarStack* 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.
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 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
Set the list of active lights.
Active lights is lights that the shader should use.
| 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:
- ivideo/shader/shader.h
Generated for Crystal Space by doxygen 1.4.7

