iShaderManager Struct Reference
A manager for all shaders. More...
#include <ivideo/shader/shader.h>
Public Member Functions | |
virtual iHierarchicalCache * | AddSubCacheDirectory (const char *cacheDir, int priority=cachePriorityApp, bool readOnly=false)=0 |
Shortcut to add a subcache located in a VFS directory. | |
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 iHierarchicalCache * | GetShaderCache ()=0 |
Get the cache for storing precompiled shader data. | |
virtual const csRefArray < iShader > & | GetShaders ()=0 |
Returns all shaders that have been created. | |
virtual iShaderVariableAccessor * | GetShaderVariableAccessor (const char *name)=0 |
Find a shader variable accessor. | |
virtual csShaderVariableStack & | GetShaderVariableStack ()=0 |
Get the shadervariablestack used to handle shadervariables on rendering. | |
virtual iShaderVarStringSet * | GetSVNameStringset () const =0 |
Get the stringset used for shader variable names. | |
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 | RegisterShaderVariableAccessor (const char *name, iShaderVariableAccessor *accessor)=0 |
Register a named shader variable accessor. | |
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. | |
virtual void | UnregisterShaders ()=0 |
Remove all shaders. | |
virtual void | UnregisterShaderVariableAccessor (const char *name, iShaderVariableAccessor *accessor)=0 |
Unregister a shader variable accessor. | |
virtual void | UnregisterShaderVariableAcessors ()=0 |
Remove all shader variable accessors. |
Detailed Description
A manager for all shaders.
Will only be one at a given time
Definition at line 353 of file shader.h.
Member Function Documentation
virtual iHierarchicalCache* iShaderManager::AddSubCacheDirectory | ( | const char * | cacheDir, | |
int | priority = cachePriorityApp , |
|||
bool | readOnly = false | |||
) | [pure virtual] |
Shortcut to add a subcache located in a VFS directory.
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 iHierarchicalCache* iShaderManager::GetShaderCache | ( | ) | [pure virtual] |
Get the cache for storing precompiled shader data.
virtual const csRefArray<iShader>& iShaderManager::GetShaders | ( | ) | [pure virtual] |
Returns all shaders that have been created.
virtual iShaderVariableAccessor* iShaderManager::GetShaderVariableAccessor | ( | const char * | name | ) | [pure virtual] |
Find a shader variable accessor.
virtual csShaderVariableStack& iShaderManager::GetShaderVariableStack | ( | ) | [pure virtual] |
Get the shadervariablestack used to handle shadervariables on rendering.
virtual iShaderVarStringSet* iShaderManager::GetSVNameStringset | ( | ) | const [pure virtual] |
Get the stringset used for shader variable names.
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
virtual void iShaderManager::RegisterShaderVariableAccessor | ( | const char * | name, | |
iShaderVariableAccessor * | accessor | |||
) | [pure virtual] |
Register a named shader variable accessor.
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.
virtual void iShaderManager::UnregisterShaders | ( | ) | [pure virtual] |
Remove all shaders.
virtual void iShaderManager::UnregisterShaderVariableAccessor | ( | const char * | name, | |
iShaderVariableAccessor * | accessor | |||
) | [pure virtual] |
Unregister a shader variable accessor.
virtual void iShaderManager::UnregisterShaderVariableAcessors | ( | ) | [pure virtual] |
Remove all shader variable accessors.
The documentation for this struct was generated from the following file:
- ivideo/shader/shader.h
Generated for Crystal Space 2.0 by doxygen 1.6.1