19 #ifndef FASTUIDRAW_PAINTER_ENGINE_GL_HPP 20 #define FASTUIDRAW_PAINTER_ENGINE_GL_HPP 315 num_layers(
void)
const;
374 number_floats(
void)
const;
380 number_floats(
unsigned int v);
388 glyph_data_backing_store_type(
void)
const;
397 use_texture_buffer_store(
void);
406 use_storage_buffer_store(
void);
421 use_texture_2d_array_store(
int log2_width,
int log2_height);
434 use_texture_2d_array_store(
void);
444 texture_2d_array_store_log2_dims(
void)
const;
453 use_optimal_store_backing(
void);
499 image_atlas_params(
void)
const;
512 glyph_atlas_params(
void)
const;
525 colorstop_atlas_params(
void)
const;
559 attributes_per_buffer(
void)
const;
565 attributes_per_buffer(
unsigned int v);
576 indices_per_buffer(
void)
const;
582 indices_per_buffer(
unsigned int v);
593 data_blocks_per_store_buffer(
void)
const;
599 data_blocks_per_store_buffer(
unsigned int v);
609 data_store_backing(
void)
const;
621 clipping_type(
void)
const;
635 use_glsl_unpack_fp16(
void)
const;
642 use_glsl_unpack_fp16(
bool);
649 number_context_textures(
void)
const;
656 number_context_textures(
unsigned int);
663 vert_shader_use_switch(
void)
const;
669 vert_shader_use_switch(
bool v);
676 frag_shader_use_switch(
void)
const;
682 frag_shader_use_switch(
bool v);
689 blend_shader_use_switch(
void)
const;
695 blend_shader_use_switch(
bool v);
708 number_pools(
void)
const;
714 number_pools(
unsigned int v);
725 break_on_shader_change(
void)
const;
731 break_on_shader_change(
bool v);
740 use_uber_item_shader(
void)
const;
746 use_uber_item_shader(
bool);
754 assign_layout_to_vertex_shader_inputs(
void)
const;
760 assign_layout_to_vertex_shader_inputs(
bool v);
768 assign_layout_to_varyings(
void)
const;
774 assign_layout_to_varyings(
bool v);
782 assign_binding_points(
void)
const;
788 assign_binding_points(
bool v);
797 separate_program_for_discard(
void)
const;
803 separate_program_for_discard(
bool v);
811 preferred_blend_type(
void)
const;
827 support_dual_src_blend_shaders(
void)
const;
834 support_dual_src_blend_shaders(
bool v);
843 fbf_blending_type(
void)
const;
867 allow_bindless_texture_from_surface(
void)
const;
875 allow_bindless_texture_from_surface(
bool);
883 buffer_streaming_type(
void)
const;
896 assume_single_gl_context(
void)
const;
902 assume_single_gl_context(
bool);
913 glsl_version_override(
void)
const;
937 configure_from_context(
bool optimal_rendering_quality =
false,
988 create(
bool optimal_rendering_quality,
file texture_image_gl.hpp
A ConfigurationGL gives parameters how to contruct a PainterEngineGL.
A PainterEngine provides an interface to create Painter Backend derived objects.
reference_counted_ptr< Program > program_deferred_coverage_buffer(void)
unsigned int num_color_layers(void) const
render_type_t
Enumeration to specify the render target of a Surface.
GlyphAtlas & glyph_atlas(void) const
Class to hold the construction parameters for creating the GL-backend ImageAtlas for a PainterEngineG...
all classes and functions of FastUIDraw are in the namespace fastuidraw.
glyph_data_backing_t
Enumeration to specify how to access the backing store of the glyph data stored in GlyphAtlas::store(...
A wrapper over a pointer to implement reference counting.
ImageAtlas & image_atlas(void) const
unsigned int num_ubo_units(void) const
unsigned int log2_index_tile_size(void) const
ColorStopAtlas & colorstop_atlas(void) const
unsigned int num_ssbo_units(void) const
bool support_image_on_atlas(void) const
buffer_streaming_type_t
Specifies how to stream buffers into GL.
virtual reference_counted_ptr< PainterBackend > create_backend(void) const override final
unsigned int log2_color_tile_size(void) const
A PainterEngineGL implements PainterEngine using the GL (or GLES) API. The PainterShaderRegistrar obj...
unsigned int num_texture_units(void) const
unsigned int log2_num_index_tiles_per_row_per_col(void) const
An UberShaderParams specifies how to construct an uber-shader. Note that the usage of HW clip-planes ...
unsigned int log2_num_color_tiles_per_row_per_col(void) const
Class to hold the construction parameters for creating a GL-backend GlyphAtlas for a PainterEngineGL...
virtual reference_counted_ptr< PainterSurface > create_surface(ivec2 dims, enum PainterSurface::render_type_t render_type) override final
data_store_backing_t
Enumeration to specify how the data store filled by PainterDraw::m_store is realized.
void swap(ImageAtlasParams &obj)
A PainterShaderSet provides shaders for blending and drawing each of the item types glyphs...
program_type_t
Enumeration to specify which Program to fetch from the methods program().
reference_counted_ptr< Program > program(enum program_type_t discard_tp, enum PainterBlendShader::shader_type blend_type)
ImageAtlasParams & optimal_color_sizes(int log2_color_tile_size)
file painter_shader_registrar_glsl.hpp
const char * c_string
Conveniant typedef for C-style strings.
static reference_counted_ptr< PainterEngineGL > create(ConfigurationGL config_gl, const ContextProperties &ctx=ContextProperties())
const ConfigurationGL & configuration_gl(void) const
fbf_blending_type_t
Enumeration to specify how to perform framebuffer-fetch blending.
ImageAtlasParams & operator=(const ImageAtlasParams &obj)
unsigned int num_index_layers(void) const
unsigned int num_image_units(void) const
A ContextProperties provides an interface to query GL/GLES version and extensions.
shader_type
Enumeration to specify how blend shader operates.
file gl_context_properties.hpp
Class to hold the construction parameters for creating a GL-backend ColorStopAtlas for a PainterEngin...