pub struct Buffer { /* private fields */ }
Implementations
sourceimpl Buffer
impl Buffer
sourcepub fn immutable<T>(
ctx: &mut Context,
buffer_type: BufferType,
data: &[T]
) -> Buffer
pub fn immutable<T>(
ctx: &mut Context,
buffer_type: BufferType,
data: &[T]
) -> Buffer
Create an immutable buffer resource object.
ⓘ
#[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
pub fn update<T>(&self, ctx: &mut Context, data: &[T])
sourcepub fn delete(&self)
pub fn delete(&self)
Delete GPU buffer, leaving handle unmodified.
More high-level code on top of oxid 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
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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more