[][src]Enum glium::program::BlockLayout

pub enum BlockLayout {
    Struct {
        members: Vec<(String, BlockLayout)>,
    },
    BasicType {
        ty: UniformType,
        offset_in_buffer: usize,
    },
    Array {
        content: Box<BlockLayout>,
        length: usize,
    },
    DynamicSizedArray {
        content: Box<BlockLayout>,
    },
}

Layout of a shader storage buffer or a uniform buffer.

Variants

Struct

Multiple elements, each having a name.

Fields of Struct

members: Vec<(String, BlockLayout)>

The list of elements, with name/layout pairs.

BasicType

A basic element.

Fields of BasicType

ty: UniformType

Type of data.

offset_in_buffer: usize

Offset of this element in bytes from the start of the buffer.

Array

A fixed-size array.

For example:

uint data[12];

Fields of Array

content: Box<BlockLayout>

Type of data of each element.

length: usize

Number of elements in the array.

DynamicSizedArray

An array whose size isn't known at compile-time. Can only be used as the last element of a buffer.

Its actual size depends on the size of the buffer.

For example:

buffer MyBuffer {
    uint data[];
}

Fields of DynamicSizedArray

content: Box<BlockLayout>

Type of data of each element.

Trait Implementations

impl Clone for BlockLayout[src]

impl Debug for BlockLayout[src]

impl Eq for BlockLayout[src]

impl PartialEq<BlockLayout> for BlockLayout[src]

impl StructuralEq for BlockLayout[src]

impl StructuralPartialEq for BlockLayout[src]

Auto Trait Implementations

impl RefUnwindSafe for BlockLayout

impl Send for BlockLayout

impl Sync for BlockLayout

impl Unpin for BlockLayout

impl UnwindSafe for BlockLayout

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<T> From<T> for T[src]

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

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

type Owned = T

The resulting type after obtaining ownership.

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.