public void SetVertices(int offset, float[] vertices, bool Dynamic) { if (lock_changes) { return; } verts.BufferData(offset, vertices, Dynamic ? OpenTK.Graphics.OpenGL4.BufferUsageHint.DynamicDraw : OpenTK.Graphics.OpenGL4.BufferUsageHint.StaticDraw); mesh.SetBufferObject(0, verts, 3, OpenTK.Graphics.OpenGL4.VertexAttribPointerType.Float); }
public void UpdateBuffers() { if (mappingData == null | ColorData == null) { mappingData = new GPUBuffer(OpenTK.Graphics.OpenGL4.BufferTarget.TextureBuffer); ColorData = new BufferTexture(); } Vector4[] cols = new Vector4[Voxels.Count]; for (int i = 0; i < cols.Length; i++) { cols[i] = Voxels[i].Color; } mappingData.BufferData(0, cols, OpenTK.Graphics.OpenGL4.BufferUsageHint.StaticDraw); ColorData.SetStorage(mappingData, OpenTK.Graphics.OpenGL4.SizedInternalFormat.Rgba32f); }