Description [src]

final class Meta.MultiTexture : GObject.Object
  /* No available fields */

A texture that can have multiple planes.

MetaMultiTexture allows one to deal with non-trivial formats that have multiple planes, requires subsampling and/or aren’t in RGB. A common example of this are decoded video frames, which often use something in the YUV colorspace, combined with subsampling.

The basic idea of a MetaMultiTexture is the following: - Each plane is represented by a separate CoglTexture. That means that you should add each of these planes as a layer to your CoglPipeline. - When dealing with a color space that is not RGB, you can ask the MetaMultiTexture to create a shader for you that does the conversion in the GPU. - In case you need to deal with memory access in a format with subsampling, you can use meta_multi_texture_get_width() and its analogous version for the height to get the correct size of the texture.


hierarchy this MetaMultiTexture ancestor_0 GObject ancestor_0--this




Creates a MetaMultiTexture with the given format. Each of the CoglTextures represents a plane.


Creates a MetaMultiTexture for a “simple” texture, i.e. with only one plane, in a format that can be represented using CoglPixelFormat.

Instance methods


Returns the MetaMultiTextureFormat that is used by this texture.


Returns the height of the MetaMultiTexture. Prefer this over calling cogl_texture_get_height() on one of the textures, as that might give a different size when dealing with subsampling.


Returns the number of planes for this texture. Note that this is entirely dependent on the CoglPixelFormat that is used. For example, simple RGB textures will have a single plane, while some more convoluted formats like NV12 and YUV 4:4:4 can have 2 and 3 planes respectively.


Returns the n’th plane of the MetaMultiTexture. Note that it’s a programming error to use with an index larger than meta_multi_texture_get_n_planes().


Returns the width of the MetaMultiTexture. Prefer this over calling cogl_texture_get_width() on one of the textures, as that might give a different size when dealing with subsampling.


A small function that checks whether the given multi texture uses a “simple” format, i.e. one that can be represented by a CoglPixelFormat.


Returns a string representation of multi_texture, useful for debugging purposes.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.


Signals inherited from GObject (1)

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

No description available.

Class members
parent_class: GObjectClass

No description available.