Low-level primitive textures

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

Types and Values


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.


cogl_is_primitive_texture ()

cogl_is_primitive_texture (void *object);

Gets whether the given object references a primitive texture object.



A CoglObject pointer



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

Since: 2.0

Stability Level: Unstable

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.



A CoglPrimitiveTexture



The new value for whether to auto mipmap


Since: 2.0

Stability Level: Unstable

Types and Values


typedef void CoglPrimitiveTexture;