GL Backend | Implementation of a backend using the OpenGL (or OpenGL ES) GPU API |
GL Utility | Collection of utility interfaces used by GL Backend that an application may wish to use as well |
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 |
GLSL Built in Shaders | This group documents the symbols and varyings of the built in shaders provided by the GLSL module (which is used by both the GL and GLES backends |
GLSL Fragment Code | This group documents the GLSL functions fastuidraw makes available to GLSL code fragments for only fragment shader for custom shading as embodied by the classes fastuidraw::glsl::PainterItemShaderGLSL, fastuidraw::glsl::PainterBlendShaderGLSL and fastuidraw::glsl::PainterBrushShaderGLSL |
GLSL Vertex Code | This group documents the GLSL functions fastuidraw makes available to GLSL code fragments for only vertex shading for custom shading as embodied by the classes fastuidraw::glsl::PainterItemShaderGLSL, fastuidraw::glsl::PainterBlendShaderGLSL and fastuidraw::glsl::PainterBrushShaderGLSL |
GLSL Vertex Fragment Code | This group documents the GLSL functions fastuidraw makes available to GLSL code fragments for both vertex and fragment shading for custom shading as embodied by the classes fastuidraw::glsl::PainterItemShaderGLSL, fastuidraw::glsl::PainterBlendShaderGLSL and fastuidraw::glsl::PainterBrushShaderGLSL |
Glyph | Glyph provides the interfaces to realizing glyph data for rendering glyphs. The big classes being Glyph, GlyphCache, GlyphAtlas and FontBase. Part of the main library libFastUIDraw |
Imaging | Imaging provides the interface to realize images and color gradients |
Painter | Painter provides the interface for Canvas drawing, the most important class being Painter. Part of the main library libFastUIDraw |
Painter Attribute | Painter Attribute provides the interface to define the attribute data to be used by shaders. This includes how glyphs, stroked paths and filled paths are realized as attribute data |
Painter Backend | If one is making a painter backend, then this group provides the information, see particularly the enumerations in fastuidraw::PainterHeader, fastuidraw::PainterItemMatrix, fastuidraw::PainterClipEquations for how data is packed by fastuidraw::Painter. Part of the main library libFastUIDraw |
Painter Shader Data | Painter Shader Data defines the interface for providing to shaders a small amount of data that is constant across all vertices and pixels of a drawn item |
Painter Shaders | Painter Shaders defines the interface how to specify shaders used by Painter to render items |
Paths | Path provides the interface to realize paths, the main entry point for applications is the object Path |
Utility | Utility provides simple utility classes, the most important and commonly used ones being reference_counted_ptr, vecN, and c_array. Part of the main library libFastUIDraw |