From 09a508a0ec34db69c548c0cdcfc4d56616dfe003 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 7 Feb 2024 13:01:19 +0100 Subject: [PATCH] Unbind vao, vbo and ibo after data is set --- PCK-Studio/Rendering/IndexBuffer.cs | 1 + PCK-Studio/Rendering/VertexArray.cs | 1 + PCK-Studio/Rendering/VertexBuffer.cs | 8 ++++---- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/PCK-Studio/Rendering/IndexBuffer.cs b/PCK-Studio/Rendering/IndexBuffer.cs index 7937d575..991fb453 100644 --- a/PCK-Studio/Rendering/IndexBuffer.cs +++ b/PCK-Studio/Rendering/IndexBuffer.cs @@ -35,6 +35,7 @@ namespace PckStudio.Rendering _id = GL.GenBuffer(); Bind(); GL.BufferData(BufferTarget.ElementArrayBuffer, _indecies.Count * sizeof(int), _indecies.ToArray(), BufferUsageHint.StaticDraw); + Unbind(); } public int GetCount() => _indecies.Count; diff --git a/PCK-Studio/Rendering/VertexArray.cs b/PCK-Studio/Rendering/VertexArray.cs index 2bbc0c83..6a40f389 100644 --- a/PCK-Studio/Rendering/VertexArray.cs +++ b/PCK-Studio/Rendering/VertexArray.cs @@ -30,6 +30,7 @@ namespace PckStudio.Rendering GL.VertexAttribPointer(i, element.Count, element.Type, element.Normalize, layout.GetStride(), offset); offset += element.Count * VertexBufferElement.GetStrideSize(element.Type); } + Unbind(); } public void Bind() diff --git a/PCK-Studio/Rendering/VertexBuffer.cs b/PCK-Studio/Rendering/VertexBuffer.cs index e6f4a9da..fe974c5f 100644 --- a/PCK-Studio/Rendering/VertexBuffer.cs +++ b/PCK-Studio/Rendering/VertexBuffer.cs @@ -20,12 +20,13 @@ namespace PckStudio.Rendering public VertexBuffer(T[] data, int size) { - _id = GL.GenBuffer(); - Bind(); - GL.BufferData(BufferTarget.ArrayBuffer, size, data, BufferUsageHint.StaticDraw); #if DEBUG __data = data; #endif + _id = GL.GenBuffer(); + Bind(); + GL.BufferData(BufferTarget.ArrayBuffer, size, data, BufferUsageHint.StaticDraw); + Unbind(); } public void Bind() @@ -33,7 +34,6 @@ namespace PckStudio.Rendering GL.BindBuffer(BufferTarget.ArrayBuffer, _id); } - [Conditional("DEBUG")] public void Unbind() { GL.BindBuffer(BufferTarget.ArrayBuffer, 0);