public RenderObject(DrawPrimitiveType PrimitiveType = DrawPrimitiveType.Triangles) { this.PrimitiveType = PrimitiveType; Textures = new Dictionary <int, Texture2D>(); //ID = GL.GenVertexArray(); GL.CreateVertexArrays(1, out ID); Bind(); }
public void Draw(DrawPrimitiveType type = DrawPrimitiveType.Triangles) { if (VertexCount == 0) { return; } PrimitiveType glType = drawTypeMap[type]; VAO.Draw(glType, 0, VertexCount); }
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() });
public override void Draw(int First, int Count, DrawPrimitiveType PType = DrawPrimitiveType.Triangles) { GL.DrawElements((PrimitiveType)PType, Count, DrawElementsType.UnsignedInt, First); }
public virtual void Draw(int First, int Count, DrawPrimitiveType PType = DrawPrimitiveType.Triangles) { throw new NotImplementedException(); }
public virtual void Draw(int First = 0, DrawPrimitiveType PType = DrawPrimitiveType.Triangles) { Draw(First, Length, PType); }
public override void Draw(int First, int Count, DrawPrimitiveType PType = DrawPrimitiveType.Triangles) { GL.DrawArrays((PrimitiveType)PType, First, Count); }