FastUIDraw
Classes | Functions
fastuidraw::gl Namespace Reference

Namespace to encapsulate GL backend end implementation, utility functions and utility classes. Part of the GL backend libraries, libFastUIDrawGL and libFastUIDrawGLES. More...

Classes

class  BindAttribute
 A BindAttribute inherits from PreLinkAction, it's purpose is to bind named attributes to named locations, i.e. it calls glBindAttributeLocation(). More...
 
class  BindFragDataLocation
 A BindFragDataLocation inherits from PreLinkAction, its purpose is to bind a fragment shader out to a named location and index. Using a BindFragDataLocation requires: More...
 
class  ContextProperties
 A ContextProperties provides an interface to query GL/GLES version and extensions. More...
 
class  PainterEngineGL
 A PainterEngineGL implements PainterEngine using the GL (or GLES) API. The PainterShaderRegistrar object returned by painter_shader_registrar() derives from glsl::PainterShaderRegistrarGLSL. In addition, when adding custom shaders, the shader types need to be derived from the shader types of the GLSL module, i.e. More...
 
class  PainterSurfaceGL
 
class  PreLinkAction
 A PreLinkAction is an action to apply to a Program after attaching shaders but before linking. More...
 
class  PreLinkActionArray
 A PreLinkActionArray is a conveniance class wrapper over an array of PreLinkAction handles. More...
 
class  Program
 Class for creating and using GLSL programs. More...
 
class  ProgramInitializer
 A ProgramInitializer is a functor object called the first time a Program is bound (i.e. the first time Program::use_program() is called). It's main purpose is to facilitate initializing uniform values. More...
 
class  ProgramInitializerArray
 Conveniance class to hold an array of handles of ProgramInitializer objects. More...
 
class  ProgramSeparable
 A ProgramSeparable inherits from PreLinkAction, its purpose is to set a GLSL program as separable, so that it can be used by a GLSL pipeline. Using a ProgramSeparable requires: More...
 
class  SamplerInitializer
 Class to intialize the binding points of samplers. If the uniform is an array, the first element will be given the specified binding point and successive elements in the array will be given successive binding points. More...
 
class  Shader
 Simple Shader utility class providing a simple interface to build GL shader objects using a glsl::ShaderSouce as its source code. More...
 
class  ShaderStorageBlockInitializer
 A ShaderStorageBlockInitializer is used to initalize the binding point used by a shader storage block (see the GL spec on glShaderStorageBlockBinding). Initializer is not supported in OpenGL ES. More...
 
class  TextureImage
 
class  TransformFeedbackVarying
 A TransformFeedbackVarying encapsulates a call to glTransformFeedbackVarying. Note that if there are multiple TransformFeedbackVarying objects on a single PreLinkActionArray, then only the last one added has effect. More...
 
class  UniformBlockInitializer
 A UniformBlockInitializer is used to initalize the binding point used by a bindable uniform (aka Uniform buffer object, see the GL spec on glGetUniformBlockIndex and glUniformBlockBinding. More...
 
class  UniformInitalizerBase
 A UniformInitalizerBase is a base class for initializing a uniform, the actual GL call to set the uniform value is to be implemented by a derived class in init_uniform(). More...
 
class  UniformInitializer
 Initialize a uniform via the templated overloaded function fastuidraw::gl::Uniform(). More...
 
class  UniformInitializer< c_array< const T > >
 Specialization for type c_array<const T> for UniformInitializer so that data behind the c_array is copied. More...
 

Functions

void context_get (GLenum v, GLint *ptr)
 
void context_get (GLenum v, GLboolean *ptr)
 
void context_get (GLenum v, bool *ptr)
 
void context_get (GLenum v, GLfloat *ptr)
 
template<typename T , size_t N>
void context_get (GLenum v, vecN< T, N > *p)
 
template<typename T >
context_get (GLenum value)
 
template<typename T , size_t N>
void ProgramUniform (GLuint program, int location, GLsizei count, const vecN< T, N > &v)
 Template version for setting array of uniforms,. More...
 
template<typename T , size_t N>
void ProgramUniform (GLuint program, int location, GLsizei count, const vecN< T, N > &v, bool transposed)
 
template<typename T >
void ProgramUniform (GLuint program, int location, GLsizei count, c_array< const T > v)
 Template version for setting array of uniforms,. More...
 
template<typename T >
void ProgramUniform (GLuint program, int location, GLsizei count, c_array< const T > v, bool transposed)
 Template version for setting array of uniforms. More...
 
template<typename T >
void ProgramUniform (GLuint program, int location, c_array< const T > v)
 Template version for setting array of uniforms,. More...
 
template<typename T >
void ProgramUniform (GLuint program, int location, GLsizei count, const T *v)
 Template version for setting an of uniform values. More...
 
template<typename T , size_t N, size_t M>
void ProgramUniform (GLuint program, int location, GLsizei count, const matrixNxM< T, N, M > *v, bool transposed=false)
 Template version for setting an array of matrix uniform values. More...
 
template<typename T , size_t N>
void ProgramUniform (GLuint program, int location, const vecN< T, N > &v)
 Template version for setting a single uniform value. More...
 
template<typename T , size_t N, size_t M>
void ProgramUniform (GLuint program, int location, const matrixNxM< T, N, M > &v, bool transposed=false)
 Template version for setting a single matrix uniform value. More...
 
template<typename T , size_t N>
void Uniform (int location, GLsizei count, const vecN< T, N > &v)
 Template version for setting array of uniforms. More...
 
template<typename T , size_t N>
void Uniform (int location, GLsizei count, const vecN< T, N > &v, bool transposed)
 Template version for setting array of uniform matrices. More...
 
template<typename T >
void Uniform (int location, GLsizei count, c_array< const T > v)
 Template version for setting array of uniforms. More...
 
template<typename T >
void Uniform (int location, GLsizei count, c_array< const T > v, bool transposed)
 Template version for setting array of uniforms. More...
 
template<typename T >
void Uniform (int location, c_array< const T > v)
 Template version for setting array of uniforms,. More...
 
template<typename T >
void Uniform (int location, GLsizei count, const T *v)
 Template version for setting an of uniform values. More...
 
template<typename T , size_t N, size_t M>
void Uniform (int location, GLsizei count, const matrixNxM< T, N, M > *v, bool transposed=false)
 Template version for setting an array of matrix uniform values. More...
 
template<typename T , size_t N>
void Uniform (int location, const vecN< T, N > &v)
 Template version for setting a single uniform value. More...
 
template<typename T , size_t N, size_t M>
void Uniform (int location, const matrixNxM< T, N, M > &v, bool transposed=false)
 Template version for setting a single matrix uniform value. More...
 

Detailed Description

Namespace to encapsulate GL backend end implementation, utility functions and utility classes. Part of the GL backend libraries, libFastUIDrawGL and libFastUIDrawGLES.