static SSTexturedCube() { int verticesPerQuad = c_vertices.Length; SSVertex_PosTex[] vertices = new SSVertex_PosTex[verticesPerQuad * 6]; for (int f = 0; f < 6; ++f) { for (int v = 0; v < verticesPerQuad; ++v) { SSVertex_PosTex vertex = c_vertices [v]; vertex.Position = Vector3.Transform(vertex.Position, c_faceTransforms [f]); vertices [f * verticesPerQuad + v] = vertex; } } Instance = new SSVertexBuffer<SSVertex_PosTex> (vertices); }
static SSTexturedQuad() { singleFaceInstance = new SSVertexBuffer<SSVertex_PosTex>(singleFaceVertices); doubleFaceInstance = new SSVertexBuffer<SSVertex_PosTex>(doubleFaceVertices); doubleFaceCrossBarInstance = new SSVertexBuffer<SSVertex_PosTex> (doubleFaceCrossBarVertices); }
public SSMeshOBJSubsetData(SSVertex_PosNormTexDiff[] vertices, UInt16[] indices, UInt16[] wireframeIndices) { SSVertexBuffer<SSVertex_PosNormTexDiff> vbo = new SSVertexBuffer<SSVertex_PosNormTexDiff>(vertices, BufferUsageHint.StaticDraw); SSIndexBuffer triIbo = new SSIndexBuffer(indices, vbo, BufferUsageHint.StaticDraw); SSIndexBuffer wireframeIbo = new SSIndexBuffer(wireframeIndices, vbo, BufferUsageHint.StaticDraw); this.triangleMesh = new SSIndexedMesh<SSVertex_PosNormTexDiff>(vbo, triIbo); this.wireframeMesh = new SSIndexedMesh<SSVertex_PosNormTexDiff>(vbo, wireframeIbo); }