Exemple #1
0
        public RenderObject(DrawPrimitiveType PrimitiveType = DrawPrimitiveType.Triangles)
        {
            this.PrimitiveType = PrimitiveType;
            Textures           = new Dictionary <int, Texture2D>();

            //ID = GL.GenVertexArray();
            GL.CreateVertexArrays(1, out ID);
            Bind();
        }
Exemple #2
0
        public void Draw(DrawPrimitiveType type = DrawPrimitiveType.Triangles)
        {
            if (VertexCount == 0)
            {
                return;
            }

            PrimitiveType glType = drawTypeMap[type];

            VAO.Draw(glType, 0, VertexCount);
        }
Exemple #3
0
        public static int GetGLPrimitive(this DrawPrimitiveType primitive)
        {
            return(primitive switch
            {
                DrawPrimitiveType.Points => GL_POINTS,
                DrawPrimitiveType.Lines => GL_LINES,
                DrawPrimitiveType.LineLoop => GL_LINE_LOOP,
                DrawPrimitiveType.LineStrip => GL_LINE_STRIP,
                DrawPrimitiveType.Triangles => GL_TRIANGLES,
                DrawPrimitiveType.TriangleStrip => GL_TRIANGLE_STRIP,

                _ => throw new NotImplementedException()
            });
Exemple #4
0
 public override void Draw(int First, int Count, DrawPrimitiveType PType = DrawPrimitiveType.Triangles)
 {
     GL.DrawElements((PrimitiveType)PType, Count, DrawElementsType.UnsignedInt, First);
 }
Exemple #5
0
 public virtual void Draw(int First, int Count, DrawPrimitiveType PType = DrawPrimitiveType.Triangles)
 {
     throw new NotImplementedException();
 }
Exemple #6
0
 public virtual void Draw(int First = 0, DrawPrimitiveType PType = DrawPrimitiveType.Triangles)
 {
     Draw(First, Length, PType);
 }
Exemple #7
0
 public override void Draw(int First, int Count, DrawPrimitiveType PType = DrawPrimitiveType.Triangles)
 {
     GL.DrawArrays((PrimitiveType)PType, First, Count);
 }