### Class

# Cogl Primitive

#### Description [src]

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

Functions for creating, manipulating and drawing primitives.

#### Ancestors

- GObject

#### Constructors

###### cogl_primitive_new

Combines a set of `CoglAttribute`s with a specific draw `mode` and defines a vertex count so a `CoglPrimitive` object can be retained and drawn later with no addition information required.

###### cogl_primitive_new_p2

Provides a convenient way to describe a primitive, such as a single triangle strip or a triangle fan, that will internally allocate the necessary `CoglAttributeBuffer` storage, describe the position attribute with a `CoglAttribute` and upload your data.

###### cogl_primitive_new_p2c4

Provides a convenient way to describe a primitive, such as a single triangle strip or a triangle fan, that will internally allocate the necessary `CoglAttributeBuffer` storage, describe the position and color attributes with `CoglAttribute`s and upload your data.

###### cogl_primitive_new_p2t2

Provides a convenient way to describe a primitive, such as a single triangle strip or a triangle fan, that will internally allocate the necessary `CoglAttributeBuffer` storage, describe the position and texture coordinate attributes with `CoglAttribute`s and upload your data.

###### cogl_primitive_new_p2t2c4

Provides a convenient way to describe a primitive, such as a single triangle strip or a triangle fan, that will internally allocate the necessary `CoglAttributeBuffer` storage, describe the position, texture coordinate and color attributes with `CoglAttribute`s and upload your data.

###### cogl_primitive_new_p3

Provides a convenient way to describe a primitive, such as a single triangle strip or a triangle fan, that will internally allocate the necessary `CoglAttributeBuffer` storage, describe the position attribute with a `CoglAttribute` and upload your data.

###### cogl_primitive_new_p3c4

Provides a convenient way to describe a primitive, such as a single triangle strip or a triangle fan, that will internally allocate the necessary `CoglAttributeBuffer` storage, describe the position and color attributes with `CoglAttribute`s and upload your data.

###### cogl_primitive_new_p3t2

Provides a convenient way to describe a primitive, such as a single triangle strip or a triangle fan, that will internally allocate the necessary `CoglAttributeBuffer` storage, describe the position and texture coordinate attributes with `CoglAttribute`s and upload your data.

###### cogl_primitive_new_p3t2c4

Provides a convenient way to describe a primitive, such as a single triangle strip or a triangle fan, that will internally allocate the necessary `CoglAttributeBuffer` storage, describe the position, texture coordinate and color attributes with `CoglAttribute`s and upload your data.

###### cogl_primitive_new_with_attributes

Combines a set of `CoglAttribute`s with a specific draw `mode` and defines a vertex count so a `CoglPrimitive` object can be retained and drawn later with no addition information required.

#### Functions

###### cogl_primitive_texture_set_auto_mipmap

Sets whether the texture will automatically update the smaller mipmap levels after any part of level 0 is updated. The update will only occur whenever the texture is used for drawing with a texture filter that requires the lower mipmap levels. An application should disable this if it wants to upload its own data for the other levels. By default auto mipmapping is enabled.

#### Instance methods

###### cogl_primitive_copy

Makes a copy of an existing `CoglPrimitive`. Note that the primitive is a shallow copy which means it will use the same attributes and attribute buffers as the original primitive.

###### cogl_primitive_draw

Draws the given `primitive` geometry to the specified destination `framebuffer` using the graphics processing state described by `pipeline`.

###### cogl_primitive_foreach_attribute

Iterates all the attributes of the given `CoglPrimitive`.

###### cogl_primitive_get_first_vertex

No description available.

###### cogl_primitive_get_indices

No description available.

###### cogl_primitive_get_mode

No description available.

###### cogl_primitive_get_n_vertices

Queries the number of vertices to read when drawing the given `primitive`. Usually this value is implicitly set when associating vertex data or indices with a `CoglPrimitive`.

###### cogl_primitive_set_first_vertex

No description available.

###### cogl_primitive_set_indices

Associates a sequence of `CoglIndices` with the given `primitive`.

###### cogl_primitive_set_mode

No description available.

###### cogl_primitive_set_n_vertices

Specifies how many vertices should be read when drawing the given `primitive`.

##### 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 CoglPrimitiveClass {
      GObjectClass parent_class;

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.