Struct cogl::Primitive[][src]

pub struct Primitive(_, _);

Implementations

impl Primitive[src]

pub fn copy(&self) -> Option<Primitive>[src]

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

Returns

the new primitive

pub fn draw<P: IsA<Framebuffer>>(&self, framebuffer: &P, pipeline: &Pipeline)[src]

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

This drawing api doesn’t support high-level meta texture types such as Texture2DSliced so it is the user’s responsibility to ensure that only low-level textures that can be directly sampled by a GPU such as Texture2D, TextureRectangle or Texture3D are associated with layers of the given pipeline.

framebuffer

A destination Framebuffer

pipeline

A Pipeline state object

pub fn foreach_attribute<P: FnMut(&Primitive, &Attribute) -> Bool>(
    &self,
    callback: P
)
[src]

Iterates all the attributes of the given Primitive.

callback

A CoglPrimitiveAttributeCallback to be called for each attribute

user_data

Private data that will be passed to the callback

pub fn get_first_vertex(&self) -> i32[src]

pub fn get_indices(&self) -> Option<Indices>[src]

Returns

the indices that were set with Primitive::set_indices or None if no indices were set.

pub fn get_mode(&self) -> VerticesMode[src]

pub fn get_n_vertices(&self) -> i32[src]

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

If Primitive::set_indices has been used to associate a sequence of Indices with the given self then the number of vertices to read can also be phrased as the number of indices to read.

<note>To be clear; it doesn’t refer to the number of vertices - in terms of data - associated with the primitive it’s just the number of vertices to read and draw.</note>

Returns

The number of vertices to read when drawing.

pub fn set_first_vertex(&self, first_vertex: i32)[src]

pub fn set_indices(&self, indices: &Indices, n_indices: i32)[src]

Associates a sequence of Indices with the given self.

Indices provide a way to virtualize your real vertex data by providing a sequence of indices that index into your real vertex data. The GPU will walk though the index values to indirectly lookup the data for each vertex instead of sequentially walking through the data directly. This lets you save memory by indexing shared data multiple times instead of duplicating the data.

The value passed as n_indices will simply update the Primitive <structfield>n_vertices</structfield> property as if Primitive::set_n_vertices were called. This property defines the number of vertices to draw or, put another way, how many indices should be read from indices when drawing.

<note>The Primitive <structfield>first_vertex</structfield> property also affects drawing with indices by defining the first entry of the indices to start drawing from.</note>

indices

A Indices array

n_indices

The number of indices to reference when drawing

pub fn set_mode(&self, mode: VerticesMode)[src]

pub fn set_n_vertices(&self, n_vertices: i32)[src]

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

Usually this value is set implicitly when associating vertex data or indices with a Primitive.

<note>To be clear; it doesn’t refer to the number of vertices - in terms of data - associated with the primitive it’s just the number of vertices to read and draw.</note>

n_vertices

The number of vertices to read when drawing.

Trait Implementations

impl Clone for Primitive[src]

impl Debug for Primitive[src]

impl Display for Primitive[src]

impl Eq for Primitive[src]

impl Hash for Primitive[src]

impl IsA<Object> for Primitive[src]

impl Ord for Primitive[src]

impl<T: ObjectType> PartialEq<T> for Primitive[src]

impl<T: ObjectType> PartialOrd<T> for Primitive[src]

impl StaticType for Primitive[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Super, Sub> CanDowncast<Sub> for Super where
    Sub: IsA<Super>,
    Super: IsA<Super>, 
[src]

impl<T> Cast for T where
    T: ObjectType
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ObjectExt for T where
    T: ObjectType
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToSendValue for T where
    T: SetValue + Send + ToValue + ?Sized
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> ToValue for T where
    T: SetValue + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.