void createMesh(IStorm3D_Mesh &mesh) { Vector v[8]; v[0] = Vector(data.radiusX, 0, data.radiusZ); v[1] = Vector(data.radiusX, 0, -data.radiusZ); v[2] = Vector(-data.radiusX, 0, data.radiusZ); v[3] = Vector(-data.radiusX, 0, -data.radiusZ); v[4] = v[0] + Vector(0, data.height, 0); v[5] = v[1] + Vector(0, data.height, 0); v[6] = v[2] + Vector(0, data.height, 0); v[7] = v[3] + Vector(0, data.height, 0); mesh.ChangeVertexCount(8); mesh.ChangeFaceCount(24); Storm3D_Vertex *vertexBuffer = mesh.GetVertexBuffer(); Storm3D_Face *faceBuffer = mesh.GetFaceBuffer(); for(int i = 0; i < 8; ++i) vertexBuffer[i].position = v[i]; faceBuffer[0].vertex_index[0] = 0; faceBuffer[0].vertex_index[1] = 1; faceBuffer[0].vertex_index[2] = 2; faceBuffer[1].vertex_index[0] = 1; faceBuffer[1].vertex_index[1] = 2; faceBuffer[1].vertex_index[2] = 3; faceBuffer[2].vertex_index[0] = 4; faceBuffer[2].vertex_index[1] = 5; faceBuffer[2].vertex_index[2] = 6; faceBuffer[3].vertex_index[0] = 5; faceBuffer[3].vertex_index[1] = 6; faceBuffer[3].vertex_index[2] = 7; faceBuffer[4].vertex_index[0] = 0; faceBuffer[4].vertex_index[1] = 1; faceBuffer[4].vertex_index[2] = 4; faceBuffer[5].vertex_index[0] = 4; faceBuffer[5].vertex_index[1] = 5; faceBuffer[5].vertex_index[2] = 1; faceBuffer[6].vertex_index[0] = 2; faceBuffer[6].vertex_index[1] = 3; faceBuffer[6].vertex_index[2] = 6; faceBuffer[7].vertex_index[0] = 6; faceBuffer[7].vertex_index[1] = 7; faceBuffer[7].vertex_index[2] = 3; faceBuffer[8].vertex_index[0] = 0; faceBuffer[8].vertex_index[1] = 2; faceBuffer[8].vertex_index[2] = 6; faceBuffer[9].vertex_index[0] = 6; faceBuffer[9].vertex_index[1] = 4; faceBuffer[9].vertex_index[2] = 0; faceBuffer[10].vertex_index[0] = 1; faceBuffer[10].vertex_index[1] = 3; faceBuffer[10].vertex_index[2] = 7; faceBuffer[11].vertex_index[0] = 7; faceBuffer[11].vertex_index[1] = 5; faceBuffer[11].vertex_index[2] = 1; faceBuffer[0+12].vertex_index[0] = 0; faceBuffer[0+12].vertex_index[1] = 2; faceBuffer[0+12].vertex_index[2] = 1; faceBuffer[1+12].vertex_index[0] = 1; faceBuffer[1+12].vertex_index[1] = 3; faceBuffer[1+12].vertex_index[2] = 2; faceBuffer[2+12].vertex_index[0] = 4; faceBuffer[2+12].vertex_index[1] = 6; faceBuffer[2+12].vertex_index[2] = 5; faceBuffer[3+12].vertex_index[0] = 5; faceBuffer[3+12].vertex_index[1] = 7; faceBuffer[3+12].vertex_index[2] = 6; faceBuffer[4+12].vertex_index[0] = 0; faceBuffer[4+12].vertex_index[1] = 4; faceBuffer[4+12].vertex_index[2] = 1; faceBuffer[5+12].vertex_index[0] = 4; faceBuffer[5+12].vertex_index[1] = 1; faceBuffer[5+12].vertex_index[2] = 5; faceBuffer[6+12].vertex_index[0] = 2; faceBuffer[6+12].vertex_index[1] = 6; faceBuffer[6+12].vertex_index[2] = 3; faceBuffer[7+12].vertex_index[0] = 6; faceBuffer[7+12].vertex_index[1] = 3; faceBuffer[7+12].vertex_index[2] = 7; faceBuffer[8+12].vertex_index[0] = 0; faceBuffer[8+12].vertex_index[1] = 6; faceBuffer[8+12].vertex_index[2] = 2; faceBuffer[9+12].vertex_index[0] = 6; faceBuffer[9+12].vertex_index[1] = 0; faceBuffer[9+12].vertex_index[2] = 4; faceBuffer[10+12].vertex_index[0] = 1; faceBuffer[10+12].vertex_index[1] = 7; faceBuffer[10+12].vertex_index[2] = 3; faceBuffer[11+12].vertex_index[0] = 7; faceBuffer[11+12].vertex_index[1] = 1; faceBuffer[11+12].vertex_index[2] = 5; }