List of all members
clan::GraphicContextProvider Class Referenceabstract
clanDisplay Display

Interface for implementing a GraphicContext target. More...

`#include <graphic_context_provider.h>`

## Public Member Functions
Construction
virtual | ~GraphicContextProvider ()
Attributes
virtual int | get_max_attributes ()=0
| Returns the maximum amount of attributes available. More...
virtual Size | get_max_texture_size () const =0
| Returns the maximum size of a texture this graphic context supports. More...
virtual Size | get_display_window_size () const =0
| Returns the current size of the display window. More...
virtual float | get_pixel_ratio () const =0
| Physical pixels/dots per inch. More...
virtual Signal< void(const Size &)> & | sig_window_resized ()=0
| Get the window resized signal. More...
virtual ProgramObject | get_program_object (StandardProgram standard_program) const =0
| Get a program object from the standard program specified. More...
Operations
virtual ClipZRange | get_clip_z_range () const =0
| Returns in what range clip space z values are clipped. More...
virtual TextureImageYAxis | get_texture_image_y_axis () const =0
| Returns the Y axis direction for viewports, clipping rects, textures and render targets. More...
virtual ShaderLanguage | get_shader_language () const =0
| Returns the shader language used. More...
virtual int | get_major_version () const =0
| Returns the major version / feature level supported by the hardware. More...
virtual int | get_minor_version () const =0
| Returns the major version / feature level supported by the hardware. More...
virtual bool | has_compute_shader_support () const =0
| Returns true if the hardware supports compute shaders. More...
virtual PixelBuffer | get_pixeldata (const Rect &rect, TextureFormat texture_format, bool clamp) const =0
| Return the content of the draw buffer into a pixel buffer. More...
virtual TextureProvider * | alloc_texture (TextureDimensions texture_dimensions)=0
| Allocate texture provider for this gc. More...
virtual OcclusionQueryProvider * | alloc_occlusion_query ()=0
| Allocate occlusion query provider of this gc. More...
virtual ProgramObjectProvider * | alloc_program_object ()=0
| Allocate program object provider of this gc. More...
virtual ShaderObjectProvider * | alloc_shader_object ()=0
| Allocate shader object provider of this gc. More...
virtual FrameBufferProvider * | alloc_frame_buffer ()=0
| Allocate frame buffer provider for this gc. More...
virtual RenderBufferProvider * | alloc_render_buffer ()=0
| Allocate render buffer provider for this gc. More...
virtual VertexArrayBufferProvider * | alloc_vertex_array_buffer ()=0
| Allocate vertex array buffer provider for this gc. More...
virtual UniformBufferProvider * | alloc_uniform_buffer ()=0
| Allocate uniform buffer provider for this gc. More...
virtual StorageBufferProvider * | alloc_storage_buffer ()=0
| Allocate storage buffer provider for this gc. More...
virtual ElementArrayBufferProvider * | alloc_element_array_buffer ()=0
| Allocate element array buffer provider for this gc. More...
virtual TransferBufferProvider * | alloc_transfer_buffer ()=0
| Allocate transfer buffer provider for this gc. More...
virtual PixelBufferProvider * | alloc_pixel_buffer ()=0
| Allocate pixel buffer provider for this gc. More...
virtual PrimitivesArrayProvider * | alloc_primitives_array ()=0
| Allocate primitives array provider for this gc. More...
virtual std::shared_ptr< RasterizerStateProvider > | create_rasterizer_state (const RasterizerStateDescription &desc)=0
| Retrieve rasterizer state object. More...
virtual std::shared_ptr< BlendStateProvider > | create_blend_state (const BlendStateDescription &desc)=0
| Retrieve blend state object. More...
virtual std::shared_ptr< DepthStencilStateProvider > | create_depth_stencil_state (const DepthStencilStateDescription &desc)=0
| Retrieve depth-stencil state object. More...
virtual void | set_rasterizer_state (RasterizerStateProvider *state)=0
| Set active rasterizer state. More...
virtual void | set_blend_state (BlendStateProvider *state, const Colorf &blend_color, unsigned int sample_mask)=0
| Set active blend state. More...
virtual void | set_depth_stencil_state (DepthStencilStateProvider *state, int stencil_ref)=0
| Set active depth stencil state. More...
virtual void | set_program_object (StandardProgram standard_program)=0
| Set active program object to the standard program specified. More...
virtual void | set_program_object (const ProgramObject &program)=0
| Set active program object. More...
virtual void | reset_program_object ()=0
| Remove active program object. More...
virtual void | set_uniform_buffer (int index, const UniformBuffer &buffer)=0
| Select uniform buffer into index. More...
virtual void | reset_uniform_buffer (int index)=0
| Remove uniform buffer from index. More...
virtual void | set_storage_buffer (int index, const StorageBuffer &buffer)=0
| Select storage buffer into index. More...
virtual void | reset_storage_buffer (int index)=0
| Remove storage buffer from index. More...
virtual void | set_texture (int unit_index, const Texture &texture)=0
| Select texture into unit. More...
virtual void | reset_texture (int unit_index)=0
| Remove texture from unit. More...
virtual void | set_image_texture (int unit_index, const Texture &texture)=0
| Select texture into image unit. More...
virtual void | reset_image_texture (int unit_index)=0
| Remove texture from image unit. More...
virtual bool | is_frame_buffer_owner (const FrameBuffer &fb)=0
| Returns true if this frame buffer object is owned by this graphic context. More...
virtual void | set_frame_buffer (const FrameBuffer &write_buffer, const FrameBuffer &read_buffer)=0
| Set a frame buffer for off-screen rendering. More...
virtual void | reset_frame_buffer ()=0
| Set the rendering buffer back to the screen. More...
virtual void | set_draw_buffer (DrawBuffer buffer)=0
virtual bool | is_primitives_array_owner (const PrimitivesArray &primitives_array)=0
| Returns true if this primitives_array is owned by this graphic context. More...
virtual void | draw_primitives (PrimitivesType type, int num_vertices, const PrimitivesArray &primitives_array)=0
| Draw primitives on gc. More...
virtual void | set_primitives_array (const PrimitivesArray &primitives_array)=0
| Set the primitives array on the gc. More...
virtual void | draw_primitives_array (PrimitivesType type, int offset, int num_vertices)=0
| Draws primitives from the current assigned primitives array. More...
virtual void | draw_primitives_array_instanced (PrimitivesType type, int offset, int num_vertices, int instance_count)=0
| Draws instanced primitives from the current assigned primitives array. More...
virtual void | set_primitives_elements (ElementArrayBufferProvider *array_provider)=0
| Sets current elements array buffer. More...
virtual void | draw_primitives_elements (PrimitivesType type, int count, VertexAttributeDataType indices_type, size_t offset=0)=0
| Draw primitives elements. More...
virtual void | draw_primitives_elements_instanced (PrimitivesType type, int count, VertexAttributeDataType indices_type, size_t offset, int instance_count)=0
| Draw primitives elements instanced. More...
virtual void | reset_primitives_elements ()=0
| Resets current elements array buffer. More...
virtual void | draw_primitives_elements (PrimitivesType type, int count, ElementArrayBufferProvider *array_provider, VertexAttributeDataType indices_type, void *offset)=0
| Draw primitives elements. More...
virtual void | draw_primitives_elements_instanced (PrimitivesType type, int count, ElementArrayBufferProvider *array_provider, VertexAttributeDataType indices_type, void *offset, int instance_count)=0
| Draw primitives elements instanced. More...
virtual void | reset_primitives_array ()=0
| Reset the primitives arrays. More...
virtual void | set_scissor (const Rect &rect)=0
| Set scissor. More...
virtual void | reset_scissor ()=0
| Reset scissor. More...
virtual void | dispatch (int x, int y, int z)=0
| Execute a compute shader. More...
virtual void | clear (const Colorf &color)=0
| Clears the whole context using the specified color. More...
virtual void | clear_depth (float value)=0
| Clear the depth buffer. More...
virtual void | clear_stencil (int value)=0
| Clear the stencil buffer. More...
virtual void | set_viewport (const Rectf &viewport)=0
| Set the viewport to be used in user projection map mode. More...
virtual void | set_viewport (int index, const Rectf &viewport)=0
| Set the specified viewport to be used in user projection map mode. More...
virtual void | set_depth_range (float n, float f)=0
| Specifies the depth range for all viewports. More...
virtual void | set_depth_range (int viewport, float n, float f)=0
| Specifies the depth range for the specified viewport. More...
virtual void | flush ()=0

## Detailed Description

Interface for implementing a GraphicContext target.

The documentation for this class was generated from the following file:

- graphic_context_provider.h