FastUIDraw
Classes | Namespaces
gl_program.hpp File Reference

file gl_program.hpp More...

#include <fastuidraw/util/util.hpp>
#include <fastuidraw/util/vecN.hpp>
#include <fastuidraw/util/reference_counted.hpp>
#include <fastuidraw/util/string_array.hpp>
#include <fastuidraw/glsl/shader_source.hpp>
#include <fastuidraw/gl_backend/gl_header.hpp>
#include <fastuidraw/gl_backend/gluniform.hpp>
Include dependency graph for gl_program.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fastuidraw::gl::Program::atomic_buffer_info
 An atomic_buffer_info represents an object from which one can query the data of an atomic buffer. More...
 
class  fastuidraw::gl::BindAttribute
 A BindAttribute inherits from PreLinkAction, it's purpose is to bind named attributes to named locations, i.e. it calls glBindAttributeLocation(). More...
 
class  fastuidraw::gl::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  fastuidraw::gl::Program::block_info
 A block_info represents an object from which one can query the members of a uniform or shader storage block. More...
 
class  fastuidraw::gl::PreLinkAction
 A PreLinkAction is an action to apply to a Program after attaching shaders but before linking. More...
 
class  fastuidraw::gl::PreLinkActionArray
 A PreLinkActionArray is a conveniance class wrapper over an array of PreLinkAction handles. More...
 
class  fastuidraw::gl::Program
 Class for creating and using GLSL programs. More...
 
class  fastuidraw::gl::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  fastuidraw::gl::ProgramInitializerArray
 Conveniance class to hold an array of handles of ProgramInitializer objects. More...
 
class  fastuidraw::gl::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  fastuidraw::gl::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  fastuidraw::gl::Shader
 Simple Shader utility class providing a simple interface to build GL shader objects using a glsl::ShaderSouce as its source code. More...
 
class  fastuidraw::gl::Program::shader_variable_info
 A shader_variable_info holds the type, size and name of a uniform or an attribute of a GL program. More...
 
class  fastuidraw::gl::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  fastuidraw::gl::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  fastuidraw::gl::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  fastuidraw::gl::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  fastuidraw::gl::UniformInitializer< T >
 Initialize a uniform via the templated overloaded function fastuidraw::gl::Uniform(). More...
 
class  fastuidraw::gl::UniformInitializer< c_array< const T > >
 Specialization for type c_array<const T> for UniformInitializer so that data behind the c_array is copied. More...
 

Namespaces

 fastuidraw
 all classes and functions of FastUIDraw are in the namespace fastuidraw.
 
 fastuidraw::gl
 Namespace to encapsulate GL backend end implementation, utility functions and utility classes. Part of the GL backend libraries, libFastUIDrawGL and libFastUIDrawGLES.
 

Detailed Description

file gl_program.hpp

Adapted from: WRATHGLProgram.hpp of WRATH:

Copyright 2013 by Nomovok Ltd. Contact: info@.nosp@m.nomo.nosp@m.vok.c.nosp@m.om This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Author
Kevin Rogovin kevin.nosp@m..rog.nosp@m.ovin@.nosp@m.nomo.nosp@m.vok.c.nosp@m.om
Kevin Rogovin kevin.nosp@m..rog.nosp@m.ovin@.nosp@m.gmai.nosp@m.l.com

Definition in file gl_program.hpp.