Beispiel #1
0
        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();
        }