Low-level primitive textures

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

Synopsis

                    CoglPrimitiveTexture;
CoglBool            cogl_is_primitive_texture           (void *object);
void                cogl_primitive_texture_set_auto_mipmap
                                                        (CoglPrimitiveTexture *primitive_texture,
                                                         CoglBool value);

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.

Note

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.

Details

CoglPrimitiveTexture

typedef struct _CoglPrimitiveTexture CoglPrimitiveTexture;

cogl_is_primitive_texture ()

CoglBool            cogl_is_primitive_texture           (void *object);

Gets whether the given object references a primitive texture object.

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.

primitive_texture :

A CoglPrimitiveTexture

value :

The new value for whether to auto mipmap

Since 2.0

Stability Level: Unstable