use super::*;
pub fn icosahedron(g: &mut Graphics) -> VertexIndexedMesh {
let origin = Vec3f::ZERO;
let bounds = Bounds3f(-Vec3f::ONE, Vec3f::ONE);
let vertices = g.vertex_buffer(&VERTICES, BufferUsage::Static);
let vertices_len = VERTICES.len() as u32;
let indices = g.index_buffer(&INDICES, vertices_len as u8, BufferUsage::Static);
let indices_len = INDICES.len() as u32;
VertexIndexedMesh { origin, bounds, vertices, vertices_len, indices, indices_len }
}
pub fn icosahedron_flat(g: &mut Graphics) -> VertexMesh {
let origin = Vec3f::ZERO;
let bounds = Bounds3f(-Vec3f::ONE, Vec3f::ONE);
let vertices = g.vertex_buffer(&FLAT_VERTICES, BufferUsage::Static);
let vertices_len = FLAT_VERTICES.len() as u32;
VertexMesh { origin, bounds, vertices, vertices_len }
}
dataview::embed!(VERTICES: [TexturedVertexN] = "icosahedron/vertices.bin");
dataview::embed!(INDICES: [u8] = "icosahedron/indices.bin");
dataview::embed!(FLAT_VERTICES: [TexturedVertexN] = "icosahedron/flat_vertices.bin");
#[cfg(test)]
mod tests;