diff options
Diffstat (limited to 'engine/src/opengl/vertex_array.rs')
-rw-r--r-- | engine/src/opengl/vertex_array.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/engine/src/opengl/vertex_array.rs b/engine/src/opengl/vertex_array.rs index e1e1a15..da5d91e 100644 --- a/engine/src/opengl/vertex_array.rs +++ b/engine/src/opengl/vertex_array.rs @@ -125,6 +125,17 @@ impl VertexArray { unsafe { gl::BindVertexArray(self.array) } } + + /// Does a weak clone of this vertex array. The vertex array itself is NOT copied in + /// any way this function only copies the internal vertex array ID. + /// + /// # Safety + /// The returned `VertexArray` must not be dropped if another `VertexArray` + /// referencing the same vertex array ID is used later. + pub unsafe fn clone_unsafe(&self) -> Self + { + Self { array: self.array } + } } impl Drop for VertexArray |