public void Draw(Matrix4 transform, Color3 color) { _program.Bind(); using (_vao.Bind()) { _program.Transform.SetValue(transform); _program.Color.SetValue(new Vector3(color.R, color.G, color.B)); GL.DrawElements(GL.TRIANGLES, _elementsBuffer.Count, GL.UNSIGNED_INT, IntPtr.Zero); } }
public void Draw(Matrix4 transform, Color3 color) { _verticesBuffer.Bind(); _verticesBuffer.Clear(); // orphaning _verticesBuffer.SetData(_vertices, 0, _vertexCount); _program.Bind(); _program.Transform.SetValue(transform); _program.Position.SetValue(_verticesBuffer.GetView(v => v.Position)); _program.Color.SetValue(new Vector3(color.R, color.G, color.B)); GL.DrawArrays(GL.LINES, 0, _vertexCount); Program.Unbind(); _verticesBuffer.Unbind(); }