Module plexus::buffer [] [src]

Linear buffers that can be used for rendering.

This module provides a [MeshBuffer] that can be read by graphics pipelines to render meshes. MeshBuffer combines an index buffer and vertex buffer (containing arbitrary data), which are exposed as slices.

Examples

Generating a buffer from a primitive:

use nalgebra::Point3;
use plexus::buffer::MeshBuffer;
use plexus::generate::sphere::UVSphere;
use plexus::prelude::*;

let buffer = UVSphere::<f32>::with_unit_radius(16, 16)
    .polygons_with_position()
    .map_vertices(|vertex| vertex.into_hash())
    .collect::<MeshBuffer<u32, Point3<f32>>>();
let indeces = buffer.as_index_slice();
let positions = buffer.as_vertex_slice();

Structs

MeshBuffer