Ejemplo n.º 1
0
        public IMesh <TVertex> Create <TVertex>(TVertex[] data, MeshUsageHint usage = MeshUsageHint.Static) where TVertex : struct, IVertex
        {
            var mesh = new GLMesh <TVertex>();

            mesh.SetData(data, usage);
            return(mesh);
        }
Ejemplo n.º 2
0
        public void SetData(TVertex[] data, MeshUsageHint usage = MeshUsageHint.Static)
        {
            VertexCount = data.Length;

            if (VertexCount == 0)
            {
                return;
            }

            VertexAttribute[] attributes = data[0].GetVertexAttributes();
            for (int i = 0; i < attributes.Length; ++i)
            {
                VAO.SetVertexAttribute(i, attributes[i], VBO);
            }

            BufferUsageHint glUsage = usageMap[usage];

            VBO.SetData(data, glUsage);
        }