Beispiel #1
0
        protected void MakeDrawArguments(
            PrimitiveType primitiveType,
            ref Internal.VertexBuffer <GeometryVertex> vb, ref Internal.IndexBuffer ib,
            ref int vertexOffset, ref int indexOffset, out int primCount,
            int vertexCount, int indexCount
            )
        {
            if ((vertexCount == 0) || (indexCount == 0))
            {
                primCount = 0;
                return;
            }

            primCount = primitiveType.ComputePrimitiveCount(indexCount);

            _DrawArguments.Add(new DrawArguments {
                PrimitiveType  = primitiveType,
                VertexOffset   = vertexOffset,
                VertexCount    = vertexCount,
                IndexOffset    = indexOffset,
                IndexCount     = indexCount,
                PrimitiveCount = primCount
            });

            vertexOffset += vertexCount;
            indexOffset  += indexCount;
        }
Beispiel #2
0
 public static PrimitiveDrawCall <T> New <T> (PrimitiveType primitiveType, T[] vertices)
     where T : struct
 {
     return(New <T>(primitiveType, vertices, 0, primitiveType.ComputePrimitiveCount(vertices.Length)));
 }