iShaderManager Struct Reference (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions
iShaderManager Struct Reference

A manager for all shaders. More...

`#include <ivideo/shader/shader.h>`

Inheritance diagram for iShaderManager:

List of all members.

## 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