![]() |
Public API 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. | |
A manager for all shaders.
Will only be one at a given time
| 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.
| 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.
| 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.