FastUIDraw
Namespaces | Classes
GLSL

Utility module to assist in creating GLSL shaders and also provides fastuidraw::glsl::PainterShaderRegistrarGLSL which provides shader assembly and default shaders via GLSL shaders. The GL backend via the class fastuidraw::gl::PainterEngineGL builds off of fastuidraw::glsl::PainterShaderRegistrarGLSL in that its fastuidraw::PainterEngine::painter_shader_registrar() method returns an object derived from fastuidraw::glsl::PainterShaderRegistrarGLSL. Part of the main library libFastUIDraw. More...

Namespaces

 fastuidraw::glsl
 Namespace to encapsulate shader building to GLSL shaders, part of the main library libFastUIDraw.
 

Classes

class  fastuidraw::glsl::PainterBlendShaderGLSL
 A PainterBlendShaderGLSL is a PainterBlendShader whose shader code fragment is via GLSL. More...
 
class  fastuidraw::glsl::PainterBrushShaderGLSL
 A PainterBrushShaderGLSL is a PainterBrushShader whose shader code fragment is via GLSL.The vertex shader code needs to implement the function: More...
 
class  fastuidraw::glsl::PainterItemCoverageShaderGLSL
 A PainterItemCoverageShaderGLSL is a collection of GLSL source code fragments for a PainterShaderRegistrarGLSL. More...
 
class  fastuidraw::glsl::PainterItemShaderGLSL
 A PainterItemShaderGLSL is a collection of GLSL source code fragments for a PainterShaderRegistrarGLSL. More...
 
class  fastuidraw::glsl::PainterShaderRegistrarGLSL
 A PainterShaderRegistrarGLSL is an implementation of PainterRegistrar that assembles the shader source code of PainterItemShaderGLSL and PainterBlendShaderGLSL into an uber-shader. More...
 
class  fastuidraw::glsl::PainterShaderRegistrarGLSLTypes
 
class  fastuidraw::glsl::ShaderSource
 A ShaderSource represents the source code to a GLSL shader, specifying blocks of source code and macros to use. More...
 
class  fastuidraw::glsl::shareable_value_list
 A shareable_value_list is a list of values and their types that a shader will have computed after running. These can be used is shader-chaining to get some of the values made from a dependee shader. More...
 
class  fastuidraw::glsl::symbol_list
 A symbol_list embodies a varying_list along with a set of shareable values for the vertex and fragment shaders. More...
 
class  fastuidraw::glsl::UnpackSourceGenerator
 An unpack source generator is used to generate shader source code to unpack data from the data store buffer into a GLSL struct. More...
 
class  fastuidraw::glsl::varying_list
 A varying_list lists all the in's of a frag shader (and their names) which is the same as the out's of the vertex shader which which it is paired. More...
 

Detailed Description

Utility module to assist in creating GLSL shaders and also provides fastuidraw::glsl::PainterShaderRegistrarGLSL which provides shader assembly and default shaders via GLSL shaders. The GL backend via the class fastuidraw::gl::PainterEngineGL builds off of fastuidraw::glsl::PainterShaderRegistrarGLSL in that its fastuidraw::PainterEngine::painter_shader_registrar() method returns an object derived from fastuidraw::glsl::PainterShaderRegistrarGLSL. Part of the main library libFastUIDraw.