### Class

# Cogl Renderer

#### Description [src]

    final class Cogl.Renderer : GObject.Object
    {
      /* No available fields */
    }

Choosing a means to render

A `CoglRenderer` represents a means to render. It encapsulates the selection of an underlying driver, such as OpenGL or OpenGL-ES and a selection of a window system binding API such as GLX or EGL.

A `CoglRenderer` has two states, “unconnected” and “connected”. When a renderer is first instantiated using `cogl_renderer_new()` it is unconnected so that it can be configured and constraints can be specified for how the backend driver and window system should be chosen.

After configuration a `CoglRenderer` can (optionally) be explicitly connected using `cogl_renderer_connect()` which allows for the handling of connection errors so that fallback configurations can be tried if necessary. Applications that don’t support any fallbacks though can skip using `cogl_renderer_connect()` and leave Cogl to automatically connect the renderer.

Once you have a configured `CoglRenderer` it can be used to create a `CoglDisplay` object using cogl_display_new().

#### Ancestors

- GObject

#### Constructors

###### cogl_renderer_new

Instantiates a new (unconnected) `CoglRenderer` object. A `CoglRenderer` represents a means to render. It encapsulates the selection of an underlying driver, such as OpenGL or OpenGL-ES and a selection of a window system binding API such as GLX or EGL.

#### Instance methods

###### cogl_renderer_bind_api

No description available.

###### cogl_renderer_connect

Connects the configured `renderer`. Renderer connection isn’t a very active process, it basically just means validating that any given constraint criteria can be satisfied and that a usable driver and window system backend can be found.

###### cogl_renderer_create_dma_buf

Creates a new `CoglFramebuffer` with `width` x `height`, with pixel format `format`, and exports the new framebuffer’s DMA buffer handle.

###### cogl_renderer_get_driver_id

Queries what underlying driver is being used by Cogl.

###### cogl_renderer_get_implicit_drm_modifier

No description available.

###### cogl_renderer_get_proc_address

Gets a pointer to a given GL or GL ES extension function. This acts as a wrapper around glXGetProcAddress() or whatever is the appropriate function for the current backend.

###### cogl_renderer_get_winsys_id

Queries which window system backend Cogl has chosen to use.

###### cogl_renderer_handle_event

Processes a single event.

###### cogl_renderer_is_dma_buf_supported

No description available.

###### cogl_renderer_is_implicit_drm_modifier

No description available.

###### cogl_renderer_query_drm_modifiers

No description available.

###### cogl_renderer_set_driver

Requests that Cogl should try to use a specific underlying driver for rendering.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct CoglRendererClass {
      GObjectClass parent_class;

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.