Developer Documentation
|
This namespace contains all the classes and functions for handling GLSL shader and program objects. More...
Classes | |
class | ComputeShader |
GLSL compute shader. More... | |
class | FragmentShader |
GLSL fragment shader. More... | |
class | GeometryShader |
GLSL geometry shader. More... | |
class | Program |
GLSL program class. More... | |
class | Shader |
A generic shader base class. More... | |
class | UniformPool |
GLSL uniform pool. More... | |
class | VertexShader |
GLSL vertex shader. More... | |
Typedefs | |
typedef std::list< std::string > | StringList |
typedef Shader * | PtrShader |
typedef const Shader * | PtrConstShader |
typedef VertexShader * | PtrVertexShader |
typedef const VertexShader * | PtrVertexConstShader |
typedef FragmentShader * | PtrFragmentShader |
typedef const FragmentShader * | PtrConstFragmentShader |
typedef GeometryShader * | PtrGeometryShader |
typedef const GeometryShader * | PtrConstGeometryShader |
typedef ComputeShader * | PtrComputeShader |
typedef const ComputeShader * | PtrConstComputeShader |
typedef Program * | PtrProgram |
typedef const Program * | PtrConstProgram |
typedef UniformPool * | PtrUniformPool |
typedef const UniformPool * | PtrConstUniformPool |
Functions | |
GLSL::StringList ACGDLLEXPORT | loadShader (const char *filename, const GLSL::StringList *macros=0, bool appendNewLineChar=true, GLSL::StringList *outIncludes=0) |
Loads the shader source. More... | |
GLSL::PtrVertexShader ACGDLLEXPORT | loadVertexShader (const char *name, const GLSL::StringList *macros=0, bool verbose=true) |
Loads, compiles and installs a new vertex shader. | |
GLSL::PtrFragmentShader ACGDLLEXPORT | loadFragmentShader (const char *name, const GLSL::StringList *macros=0, bool verbose=true) |
Loads, compiles and installs a new vertex shader. | |
GLSL::PtrGeometryShader ACGDLLEXPORT | loadGeometryShader (const char *name, const GLSL::StringList *macros=0, bool verbose=true) |
Loads, compiles and installs a new vertex shader. | |
GLSL::PtrShader ACGDLLEXPORT | loadTessControlShader (const char *name, const GLSL::StringList *macros=0, bool verbose=true) |
Loads, compiles and installs a new tessellation control shader. | |
GLSL::PtrShader ACGDLLEXPORT | loadTessEvaluationShader (const char *name, const GLSL::StringList *macros=0, bool verbose=true) |
Loads, compiles and installs a new tessellation evaluation shader. | |
GLSL::PtrComputeShader ACGDLLEXPORT | loadComputeShader (const char *name, const GLSL::StringList *macros=0, bool verbose=true) |
Loads, compiles and installs a new compute shader. | |
GLSL::PtrProgram ACGDLLEXPORT | loadProgram (const char *vertexShaderFile, const char *fragmentShaderFile, const GLSL::StringList *macros=0, bool verbose=true) |
GLSL::PtrProgram ACGDLLEXPORT | loadProgram (const char *vertexShaderFile, const char *geometryShaderFile, const char *fragmentShaderFile, const GLSL::StringList *macros=0, bool verbose=true) |
GLSL::PtrProgram ACGDLLEXPORT | loadProgram (const char *vertexShaderFile, const char *tessControlShaderFile, const char *tessEvaluationShaderFile, const char *geometryShaderFile, const char *fragmentShaderFile, const GLSL::StringList *macros=0, bool verbose=true) |
GLSL::PtrProgram ACGDLLEXPORT | loadComputeProgram (const char *computeShaderFile, const GLSL::StringList *macros=0, bool verbose=true) |
This namespace contains all the classes and functions for handling GLSL shader and program objects.
GLSL::PtrProgram ACGDLLEXPORT ACG::SceneGraph::GLSL::loadComputeProgram | ( | const char * | computeShaderFile, |
const GLSL::StringList * | macros = 0 , |
||
bool | verbose = true |
||
) |
load glsl compute shader and create GLSL program if successful
Shader file paths for this function are assumed to be relative to the "Shader" directory as specified in ShaderProgGenerator::getShaderDir()
Definition at line 1160 of file GLSLShader.cc.
GLSL::PtrProgram ACGDLLEXPORT ACG::SceneGraph::GLSL::loadProgram | ( | const char * | vertexShaderFile, |
const char * | fragmentShaderFile, | ||
const GLSL::StringList * | macros = 0 , |
||
bool | verbose = true |
||
) |
load shaders and create GLSL program if successful
Shader file paths for this function are assumed to be relative to the "Shader" directory as specified in ShaderProgGenerator::getShaderDir()
Definition at line 1155 of file GLSLShader.cc.
GLSL::PtrProgram ACGDLLEXPORT ACG::SceneGraph::GLSL::loadProgram | ( | const char * | vertexShaderFile, |
const char * | geometryShaderFile, | ||
const char * | fragmentShaderFile, | ||
const GLSL::StringList * | macros = 0 , |
||
bool | verbose = true |
||
) |
load shaders and create GLSL program if successful
Shader file paths for this function are assumed to be relative to the "Shader" directory as specified in ShaderProgGenerator::getShaderDir()
Definition at line 1149 of file GLSLShader.cc.
GLSL::PtrProgram ACGDLLEXPORT ACG::SceneGraph::GLSL::loadProgram | ( | const char * | vertexShaderFile, |
const char * | tessControlShaderFile, | ||
const char * | tessEvaluationShaderFile, | ||
const char * | geometryShaderFile, | ||
const char * | fragmentShaderFile, | ||
const GLSL::StringList * | macros = 0 , |
||
bool | verbose = true |
||
) |
load shaders and create GLSL program if successful
Shader file paths for this function are assumed to be relative to the "Shader" directory as specified in ShaderProgGenerator::getShaderDir()
Definition at line 1082 of file GLSLShader.cc.
GLSL::StringList ACGDLLEXPORT ACG::SceneGraph::GLSL::loadShader | ( | const char * | filename, |
const GLSL::StringList * | macros = 0 , |
||
bool | appendNewLineChar = true , |
||
GLSL::StringList * | outIncludes = 0 |
||
) |
Loads the shader source.
The shader is assumed to be placed in ../shader relative to the executable's installation directory, if the path is a relative one. If it is determined that the path is absolute, the path is taken as is. Macros are inserted directly after the #version directive. According to glsl spec, only comments and white space are allowed before #version.
filename | filename of shader |
macros | [in] preprocessor macros (optional) |
appendNewLineChar | should each string in the StringList end on a ' ' |
outIncludes | [out] additional files that were loaded to resolve #include directives. |
Definition at line 927 of file GLSLShader.cc.