Trait glitter::vertex_data::VertexDatum
[−]
[src]
pub unsafe trait VertexDatum: Copy {
fn attrib_type() -> VertexAttributeType;
}A single value that can be treated as a part of a vertex. Implementors
should map to a GLSL primitive that can be used as a vertex attribute.
For example, [f32; 2] corresponds to vec2 in memory layout
and structure.
Safety
This type will be transmuted to a slice according to the value returned
by the attrib_type method.
Implementing this method incorrectly will lead to memory unsafety.
Required Methods
fn attrib_type() -> VertexAttributeType
Return the data type this datum corresponds to.
Safety
An instance of this type must match the size and memory layout
specified by the returned VertexAttributeType. Additionally this function
must not painc. Safe code must be able to rely on this property.
Implementations on Foreign Types
impl<T: VertexPrimitive> VertexDatum for [T; 1][src]
fn attrib_type() -> VertexAttributeType[src]
impl<T: VertexPrimitive> VertexDatum for [T; 2][src]
fn attrib_type() -> VertexAttributeType[src]
impl<T: VertexPrimitive> VertexDatum for [T; 3][src]
fn attrib_type() -> VertexAttributeType[src]
impl<T: VertexPrimitive> VertexDatum for [T; 4][src]
fn attrib_type() -> VertexAttributeType[src]
impl<T: VertexPrimitive> VertexDatum for Vector2<T>[src]
fn attrib_type() -> VertexAttributeType[src]
impl<T: VertexPrimitive> VertexDatum for Vector3<T>[src]
fn attrib_type() -> VertexAttributeType[src]
impl<T: VertexPrimitive> VertexDatum for Vector4<T>[src]
fn attrib_type() -> VertexAttributeType[src]
Implementors
impl<T: VertexPrimitive> VertexDatum for T