CrystalSpace

Public API Reference

iShaderManager Struct Reference

A manager for all shaders. More...

#include <ivideo/shader/shader.h>

Inheritance diagram for iShaderManager:

Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual const
csArray< iLight * > & 
GetActiveLights () const =0
 Get the list of active lights.
virtual iShaderCompilerGetCompiler (const char *name)=0
 Get a shadercompiler by name.
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
iShaderVariableAccessor
GetShaderVariableAccessor (const char *name)=0
 Find a shader variable accessor.
virtual iShaderVarStackGetShaderVariableStack ()=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 RegisterShaderVariableAccessor (const char *name, iShaderVariableAccessor *accessor)=0
 Register a named shader variable accessor.
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.
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 174 of file shader.h.


Member Function Documentation

virtual const csArray<iLight*>& iShaderManager::GetActiveLights (  )  const [pure virtual]

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 iShaderVariableAccessor* iShaderManager::GetShaderVariableAccessor ( const char *  name  )  [pure virtual]

Find a shader variable accessor.

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

virtual void iShaderManager::RegisterShaderVariableAccessor ( const char *  name,
iShaderVariableAccessor accessor 
) [pure virtual]

Register a named shader variable accessor.

virtual void iShaderManager::SetActiveLights ( const csArray< iLight * > &  lights  )  [pure virtual]

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.

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:
Generated for Crystal Space 1.2.1 by doxygen 1.5.3