## Low-level primitive textures

Low-level primitive textures — Interface for low-level textures like CoglTexture2D and CoglTexture3D.

## Functions

CoglBool | cogl_is_primitive_texture ()
void | cogl_primitive_texture_set_auto_mipmap ()

## Types and Values

typedef | CoglPrimitiveTexture

## Description

A CoglPrimitiveTexture is a texture that is directly represented by a single texture on the GPU. For example these could be a CoglTexture2D, CoglTexture3D or CoglTextureRectangle. This is opposed to high level meta textures which may be composed of multiple primitive textures or a sub-region of another texture such as CoglAtlasTexture and CoglTexture2DSliced.

A texture that implements this interface can be directly used with the low level `cogl_primitive_draw()` API. Other types of textures need to be first resolved to primitive textures using the CoglMetaTexture interface.

Most developers won't need to use this interface directly but still it is worth understanding the distinction between high-level and primitive textures because you may find other references in the documentation that detail limitations of using primitive textures.

## Functions

### cogl_is_primitive_texture ()

    CoglBool
    cogl_is_primitive_texture (void *object);

Gets whether the given object references a primitive texture object.

#### Parameters

object | A CoglObject pointer |

#### Returns

`TRUE` if the pointer references a primitive texture, and `FALSE` otherwise

Since: 2.0

Stability Level: Unstable

### cogl_primitive_texture_set_auto_mipmap ()

    void
    cogl_primitive_texture_set_auto_mipmap
                                   (CoglPrimitiveTexture *primitive_texture,
                                    CoglBool value);

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.

#### Parameters

primitive_texture | A CoglPrimitiveTexture |
value | The new value for whether to auto mipmap |

Since: 2.0

Stability Level: Unstable

## Types and Values

### CoglPrimitiveTexture

    typedef void CoglPrimitiveTexture;