diff options
Diffstat (limited to 'engine/src/mesh/vertex_buffer.rs')
| -rw-r--r-- | engine/src/mesh/vertex_buffer.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/engine/src/mesh/vertex_buffer.rs b/engine/src/mesh/vertex_buffer.rs index 5c03b45..64edc58 100644 --- a/engine/src/mesh/vertex_buffer.rs +++ b/engine/src/mesh/vertex_buffer.rs @@ -75,6 +75,7 @@ pub struct VertexBuffer impl VertexBuffer { + #[must_use] pub unsafe fn from_raw( vertex_attr_props: &[VertexAttrProperties], buffer: Vec<u8>, @@ -95,6 +96,7 @@ impl VertexBuffer } } + #[must_use] pub fn with_capacity(vertex_attrs: &[VertexAttrInfo], capacity: usize) -> Self { let mut vertex_attr_props = vertex_attrs @@ -169,11 +171,13 @@ impl VertexBuffer } } + #[must_use] pub fn vertex_attr_props(&self) -> &[VertexAttrProperties] { &self.vertex_attr_props } + #[must_use] pub fn len(&self) -> usize { assert_eq!(self.buf.len() % self.vertex_size, 0, "Invalid length"); @@ -181,11 +185,19 @@ impl VertexBuffer self.buf.len() / self.vertex_size } + #[must_use] + pub fn is_empty(&self) -> bool + { + self.buf.is_empty() + } + + #[must_use] pub fn vertex_size(&self) -> usize { self.vertex_size } + #[must_use] pub fn as_bytes(&self) -> &[u8] { &self.buf @@ -196,6 +208,7 @@ impl VertexBuffer self.buf.clear(); } + #[must_use] pub fn iter<VertexAttr: VertexAttrValue>( &self, vertex_label: VertexLabel, |
