public void Draw(GeometricPrimitives gp, int start, int count) { if (start < 0 || start + count > ElementCount) { throw new IndexOutOfRangeException(); } Use(() => GL.DrawElements((PrimitiveType)gp, count, DrawElementsType.UnsignedInt, start)); }
public void Draw(GeometricPrimitives gp, int start, int count) { if (start < 0 || start + count > VertexCount) { throw new IndexOutOfRangeException(); } Use(() => GL.DrawArrays((PrimitiveType)gp, start, count)); }
static VertexPositionTexture[] CreateQuadUv(Faces face) { var quad = GeometricPrimitives.GetQuad(face); var mesh = new VertexPositionTexture[quad.Length]; for (var i = 0; i < quad.Length; i++) { mesh[i] = new VertexPositionTexture(quad[i], GeometricPrimitives.QuadUv[i]); } return(mesh); }
public Model(GeometricPrimitives prim = GeometricPrimitives.Triangles) => _primitive = prim;
public void Draw(GeometricPrimitives gp, int count) { Draw(gp, 0, count); }
public void Draw(GeometricPrimitives gp) { Draw(gp, 0, ElementCount); }
public void Draw(GeometricPrimitives gp) { Draw(gp, 0, VertexCount); }
public Face(IVertexRenderer ic, GeometricPrimitives pr) { Indices = ic ?? throw new ArgumentNullException(nameof(ic)); Primitive = pr; }