[][src]Struct miniquad::graphics::Buffer

pub struct Buffer { /* fields omitted */ }

Implementations

impl Buffer[src]

pub fn immutable<T>(
    ctx: &mut Context,
    buffer_type: BufferType,
    data: &[T]
) -> Buffer
[src]

Create an immutable buffer resource object.

This example is not tested
#[repr(C)]
struct Vertex {
    pos: Vec2,
    uv: Vec2,
}
let vertices: [Vertex; 4] = [
    Vertex { pos : Vec2 { x: -0.5, y: -0.5 }, uv: Vec2 { x: 0., y: 0. } },
    Vertex { pos : Vec2 { x:  0.5, y: -0.5 }, uv: Vec2 { x: 1., y: 0. } },
    Vertex { pos : Vec2 { x:  0.5, y:  0.5 }, uv: Vec2 { x: 1., y: 1. } },
    Vertex { pos : Vec2 { x: -0.5, y:  0.5 }, uv: Vec2 { x: 0., y: 1. } },
];
let buffer = Buffer::immutable(ctx, BufferType::VertexBuffer, &vertices);

pub fn stream(ctx: &mut Context, buffer_type: BufferType, size: usize) -> Buffer[src]

pub fn update<T>(&self, ctx: &mut Context, data: &[T])[src]

pub fn size(&self) -> usize[src]

Size of buffer in bytes

pub fn delete(&self)[src]

Delete GPU buffer, leaving handle unmodified.

More high-level code on top of miniquad probably is going to call this in Drop implementation of some more RAII buffer object.

There is no protection against using deleted textures later. However its not an UB in OpenGl and thats why this function is not marked as unsafe

Trait Implementations

impl Clone for Buffer[src]

impl Copy for Buffer[src]

impl Debug for Buffer[src]

Auto Trait Implementations

impl RefUnwindSafe for Buffer

impl Send for Buffer

impl Sync for Buffer

impl Unpin for Buffer

impl UnwindSafe for Buffer

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.