CrystalSpace

Public API Reference

iShaderCompiler Struct Reference

Compiler of shaders. More...

#include <ivideo/shader/shader.h>

Inheritance diagram for iShaderCompiler:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual csPtr< iShaderCompileShader (iLoaderContext *ldr_context, iDocumentNode *templ, int forcepriority=-1)=0
 Compile a template into a shader.
virtual const char * GetName ()=0
 Get a name identifying this compiler.
virtual csPtr< iShaderPriorityListGetPriorities (iDocumentNode *templ)=0
 Return a list of all possible priorities (for techniques) for this shader.
virtual bool IsTemplateToCompiler (iDocumentNode *templ)=0
 Check if template is parsable by this compiler.
virtual bool ValidateTemplate (iDocumentNode *templ)=0
 Validate if a template is a valid shader to this compiler.

Detailed Description

Compiler of shaders.

Compile from a description of the shader to a compiled shader. The exact schema for input is specific to each shader- compiler.

Definition at line 329 of file shader.h.


Member Function Documentation

virtual csPtr<iShader> iShaderCompiler::CompileShader ( iLoaderContext ldr_context,
iDocumentNode templ,
int  forcepriority = -1 
) [pure virtual]

Compile a template into a shader.

Will return 0 if it fails. If the optional 'forcepriority' parameter is given then only the technique with the given priority will be considered. If this technique fails then the shader cannot be compiled. If no priority is forced then the highest priority technique that works will be selected.

virtual const char* iShaderCompiler::GetName (  )  [pure virtual]

Get a name identifying this compiler.

virtual csPtr<iShaderPriorityList> iShaderCompiler::GetPriorities ( iDocumentNode templ  )  [pure virtual]

Return a list of all possible priorities (for techniques) for this shader.

This is a full list. It might also contain priorities for techniques that don't work on this hardware.

virtual bool iShaderCompiler::IsTemplateToCompiler ( iDocumentNode templ  )  [pure virtual]

Check if template is parsable by this compiler.

virtual bool iShaderCompiler::ValidateTemplate ( iDocumentNode templ  )  [pure virtual]

Validate if a template is a valid shader to this compiler.


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.4.7