Namespace

Cogl – 15

A Low Level GPU Graphics and Utilities API

Version15
AuthorsMutter Development Team
LicenseGPL-2.0-or-later
Websitehttps://blogs.gnome.org/shell-dev/
Sourcehttps://gitlab.gnome.org/GNOME/mutter/

Build

C headerscogl/cogl.h
pkg-config filesmutter-cogl-15

Dependencies

GObject—2.0 The base type system library
Browse documentation
Graphene—1.0 A thin layer of mathematical types for 3D libraries
Browse documentation

Additional documentation

Classes

AtlasTexture

Functions for managing textures in Cogl’s global set of texture atlases.

Attribute

AttributeBuffer

Functions for creating and manipulating attribute buffers.

Bitmap

Functions for loading images.

Buffer

Common buffer functions, including data upload APIs.

Context

The top level application context.

Display

Common aspects of a display pipeline.

Framebuffer

FrameInfo

Frame information.

IndexBuffer

Functions for creating and manipulating vertex indices.

Indices

Describe vertex indices stored in a CoglIndexBuffer.

MatrixStack

Efficiently tracking many related transformations.

Offscreen

Functions for creating and manipulating offscreen framebuffers.

Onscreen

OnscreenTemplate

ParamSpecColor

A GParamSpec subclass for defining properties holding a CoglColor.

Pipeline

Functions for creating and manipulating the GPU pipeline.

PixelBuffer

Primitive

Functions for creating, manipulating and drawing primitives.

Program

Renderer

Choosing a means to render.

Scanout

Shader

Functions for accessing the programmable GL pipeline.

Snippet

Functions for creating and manipulating shader snippets.

SubTexture

Functions for creating and manipulating sub-textures.

Texture

Functions for creating and manipulating textures.

Texture2D

Functions for creating and manipulating 2D textures.

Texture2DSliced

Functions for creating and manipulating 2D meta textures that may internally be comprised of multiple 2D textures with power-of-two sizes.

Interfaces

Structs

Color

A generic color definition.

DepthState

Functions for describing the depth testing state of your GPU.

DmaBufHandle

An opaque type that tracks the lifetime of a DMA buffer fd. Release with cogl_dma_buf_handle_free().

FramebufferDriverConfig

FrameClosure

An opaque type that tracks a CoglFrameCallback and associated user data. A CoglFrameClosure pointer will be returned from cogl_onscreen_add_frame_callback() and it allows you to remove a callback later using cogl_onscreen_remove_frame_callback().

MatrixEntry

Represents a single immutable transformation that was retrieved from a CoglMatrixStack using cogl_matrix_stack_get_entry().

OnscreenDirtyInfo

A structure passed to callbacks registered using cogl_onscreen_add_dirty_callback(). The members describe a rectangle within the onscreen buffer that should be redrawn.

TimestampQuery

VertexP2

A convenience vertex definition that can be used with cogl_primitive_new_p2().

VertexP2C4

A convenience vertex definition that can be used with cogl_primitive_new_p2c4().

VertexP2T2

A convenience vertex definition that can be used with cogl_primitive_new_p2t2().

VertexP2T2C4

A convenience vertex definition that can be used with cogl_primitive_new_p3t2c4().

VertexP3

A convenience vertex definition that can be used with cogl_primitive_new_p3().

VertexP3C4

A convenience vertex definition that can be used with cogl_primitive_new_p3c4().

VertexP3T2

A convenience vertex definition that can be used with cogl_primitive_new_p3t2().

VertexP3T2C4

A convenience vertex definition that can be used with cogl_primitive_new_p3t2c4().

Aliases

Enumerations

AttributeType

Data types for the components of a vertex attribute.

BitmapError

Error codes that can be thrown when performing bitmap operations.

BlendStringError

Error enumeration for the blend strings parser.

BufferBindTarget

BufferError

Error enumeration for CoglBuffer.

BufferUpdateHint

The update hint on a buffer allows the user to give some detail on how often the buffer data is going to be updated.

DepthTestFunction

When using depth testing one of these functions is used to compare the depth of an incoming fragment against the depth value currently stored in the depth buffer. The function is changed using cogl_depth_state_set_test_function().

Driver

Identifiers for underlying hardware drivers that may be used by Cogl for rendering.

FeatureID

All the capabilities that can vary between different GPUs supported by Cogl. Applications that depend on any of these features should explicitly check for them using cogl_context_has_feature().

FilterReturn

Return values for the CoglXlibFilterFunc and CoglWin32FilterFunc functions.

FramebufferError

FrameEvent

Identifiers that are passed to CoglFrameCallback functions (registered using cogl_onscreen_add_frame_callback()) that mark the progression of a frame in some way which usually means that new information will have been accumulated in the frame’s corresponding CoglFrameInfo object.

GraphicsResetStatus

All the error values that might be returned by cogl_get_graphics_reset_status(). Each value’s meaning corresponds to the similarly named value defined in the ARB_robustness and NV_robustness_video_memory_purge extensions.

IndicesType

You should aim to use the smallest data type that gives you enough range, since it reduces the size of your index array and can help reduce the demand on memory bandwidth.

PipelineAlphaFunc

Alpha testing happens before blending primitives with the framebuffer and gives an opportunity to discard fragments based on a comparison with the incoming alpha value and a reference alpha value. The CoglPipelineAlphaFunc determines how the comparison is done.

PipelineCullFaceMode

Specifies which faces should be culled. This can be set on a pipeline using cogl_pipeline_set_cull_face_mode().

PipelineFilter

Texture filtering is used whenever the current pixel maps either to more than one texture element (texel) or less than one. These filter enums correspond to different strategies used to come up with a pixel color, by possibly referring to multiple neighbouring texels and taking a weighted average or simply using the nearest texel.

PipelineWrapMode

The wrap mode specifies what happens when texture coordinates outside the range 0→1 are used. Note that if the filter mode is anything but COGL_PIPELINE_FILTER_NEAREST then texels outside the range 0→1 might be used even when the coordinate is exactly 0 or 1 because OpenGL will try to sample neighbouring pixels. For example if you are trying to render the full texture then you may get artifacts around the edges when the pixels from the other side are merged in if the wrap mode is set to repeat.

PixelFormat

Pixel formats used by Cogl. For the formats with a byte per component, the order of the components specify the order in increasing memory addresses. So for example COGL_PIXEL_FORMAT_RGB_888 would have the red component in the lowest address, green in the next address and blue after that regardless of the endianness of the system.

RendererError

ScanoutError

ShaderType

Types of shaders.

SnippetHook

CoglSnippetHook is used to specify a location within a CoglPipeline where the code of the snippet should be used when it is attached to a pipeline.

SystemError

Error enumeration for Cogl.

TextureComponents

See cogl_texture_set_components().

TextureError

Error codes that can be thrown when allocating textures.

VerticesMode

Different ways of interpreting vertices when drawing.

Winding

Enum used to represent the two directions of rotation. This can be used to set the front face for culling by calling cogl_pipeline_set_front_face_winding().

WinsysFeature

WinsysID

Identifies specific window system backends that Cogl supports.

Bitfields

BufferAccess

The access hints for cogl_buffer_set_update_hint().

BufferBit

Types of auxiliary buffers.

BufferMapHint

Hints to Cogl about how you are planning to modify the data once it is mapped.

EglImageFlags

ReadPixelsFlags

Flags for cogl_framebuffer_read_pixels_into_bitmap().

RendererConstraint

These constraint flags are hard-coded features of the different renderer backends. Sometimes a platform may support multiple rendering options which Cogl will usually choose from automatically. Some of these features are important to higher level applications and frameworks though, such as whether a renderer is X11 based because an application might only support X11 based input handling. An application might also need to ensure EGL is used internally too if they depend on access to an EGLDisplay for some purpose.

Callbacks

FrameCallback

Is a callback that can be registered via cogl_onscreen_add_frame_callback() to be called when a frame progresses in some notable way.

MetaTextureCallback

A callback used with cogl_meta_texture_foreach_in_region() to retrieve details of all the low-level CoglTextures that make up a given CoglMetaTexture.

PipelineLayerCallback

The callback prototype used with cogl_pipeline_foreach_layer() for iterating all the layers of a pipeline.

PrimitiveAttributeCallback

The callback prototype used with cogl_primitive_foreach_attribute() for iterating all the attributes of a CoglPrimitive.

XlibFilterFunc

Functions

blend_string_error_quark

blit_framebuffer

return FALSE for an immediately detected error, TRUE otherwise.

create_program

Create a new cogl program object that can be used to replace parts of the GL rendering pipeline with custom code.

deprecated: 1.16 

create_shader

Create a new shader handle, use cogl_shader_source() to set the source code to be used on it.

deprecated: 1.16 

get_graphics_reset_status

Returns the graphics reset status as reported by GetGraphicsResetStatusARB defined in the ARB_robustness extension.

get_rectangle_indices

glib_renderer_source_new

Creates a GSource which handles Cogl’s internal system event processing.

glib_source_new

Creates a GSource which handles Cogl’s internal system event processing.

graphene_matrix_project_point

Transforms a point whose position is given and returned as four float components.

graphene_matrix_project_points

Projects an array of input points and writes the result to another array of output points. The input points can either have 2, 3 or 4 components each. The output points always have 4 components (known as homogeneous coordinates). The output array can simply point to the input array to do the transform in-place.

graphene_matrix_transform_points

Transforms an array of input points and writes the result to another array of output points. The input points can either have 2 or 3 components each. The output points always have 3 components. The output array can simply point to the input array to do the transform in-place.

meta_texture_foreach_in_region

Allows you to manually iterate the low-level textures that define a given region of a high-level CoglMetaTexture.

param_spec_color

Creates a GParamSpec for properties using CoglColor.

set_tracing_disabled_on_thread

set_tracing_enabled_on_thread

start_tracing_with_fd

start_tracing_with_path

stop_tracing

value_get_color

value_set_color

xlib_renderer_add_filter

Adds a callback function that will receive all native events. The function can stop further processing of the event by return COGL_FILTER_REMOVE.

xlib_renderer_handle_event

This function processes a single event; it can be used to hook into external event retrieval (for example that done by Clutter or GDK).

xlib_renderer_remove_filter

Removes a callback that was previously added with cogl_xlib_renderer_add_filter().

xlib_renderer_set_foreign_display

Sets a foreign Xlib display that Cogl will use for and Xlib based winsys backend.

Constants

A_BIT

AFIRST_BIT

BGR_BIT

DEPTH_BIT

PIXEL_FORMAT_MAX_PLANES

The maximum number of planes of a pixel format (see also cogl_pixel_format_get_planes()).

PREMULT_BIT

STENCIL_BIT

TEXTURE_MAX_WASTE