50 const size_t numVertices = 24;
51 const size_t numFaces = 12;
52 result.
vertices.reserve(numVertices);
53 result.
normals.reserve(numVertices);
54 result.
indices.reserve(numFaces);
56 result.
vertices.emplace_back(minCorner.x, maxCorner.y, maxCorner.z);
57 result.
vertices.emplace_back(maxCorner);
58 result.
vertices.emplace_back(minCorner.x, minCorner.y, maxCorner.z);
59 result.
vertices.emplace_back(maxCorner.x, minCorner.y, maxCorner.z);
60 result.
normals.emplace_back(0.f, 0.f, -1.f);
61 result.
normals.emplace_back(0.f, 0.f, -1.f);
62 result.
normals.emplace_back(0.f, 0.f, -1.f);
63 result.
normals.emplace_back(0.f, 0.f, -1.f);
64 result.
indices.emplace_back(0, 2, 1);
65 result.
indices.emplace_back(1, 2, 3);
67 result.
vertices.emplace_back(minCorner.x, maxCorner.y, minCorner.z);
68 result.
vertices.emplace_back(maxCorner.x, maxCorner.y, minCorner.z);
69 result.
vertices.emplace_back(minCorner);
70 result.
vertices.emplace_back(maxCorner.x, minCorner.y, minCorner.z);
71 result.
normals.emplace_back(0.f, 0.f, 1.f);
72 result.
normals.emplace_back(0.f, 0.f, 1.f);
73 result.
normals.emplace_back(0.f, 0.f, 1.f);
74 result.
normals.emplace_back(0.f, 0.f, 1.f);
75 result.
indices.emplace_back(4, 6, 5);
76 result.
indices.emplace_back(5, 6, 7);
78 result.
vertices.emplace_back(minCorner.x, maxCorner.y, minCorner.z);
79 result.
vertices.emplace_back(minCorner.x, maxCorner.y, maxCorner.z);
80 result.
vertices.emplace_back(minCorner);
81 result.
vertices.emplace_back(minCorner.x, minCorner.y, maxCorner.z);
82 result.
normals.emplace_back(-1.f, 0.f, 0.f);
83 result.
normals.emplace_back(-1.f, 0.f, 0.f);
84 result.
normals.emplace_back(-1.f, 0.f, 0.f);
85 result.
normals.emplace_back(-1.f, 0.f, 0.f);
86 result.
indices.emplace_back(8, 10, 9);
87 result.
indices.emplace_back(9, 10, 11);
89 result.
vertices.emplace_back(maxCorner);
90 result.
vertices.emplace_back(maxCorner.x, maxCorner.y, minCorner.z);
91 result.
vertices.emplace_back(maxCorner.x, minCorner.y, maxCorner.z);
92 result.
vertices.emplace_back(maxCorner.x, minCorner.y, minCorner.z);
93 result.
normals.emplace_back(1.f, 0.f, 0.f);
94 result.
normals.emplace_back(1.f, 0.f, 0.f);
95 result.
normals.emplace_back(1.f, 0.f, 0.f);
96 result.
normals.emplace_back(1.f, 0.f, 0.f);
97 result.
indices.emplace_back(12, 14, 13);
98 result.
indices.emplace_back(13, 14, 15);
100 result.
vertices.emplace_back(minCorner.x, maxCorner.y, minCorner.z);
101 result.
vertices.emplace_back(maxCorner.x, maxCorner.y, minCorner.z);
102 result.
vertices.emplace_back(minCorner.x, maxCorner.y, maxCorner.z);
103 result.
vertices.emplace_back(maxCorner);
104 result.
normals.emplace_back(0.f, 1.f, 0.f);
105 result.
normals.emplace_back(0.f, 1.f, 0.f);
106 result.
normals.emplace_back(0.f, 1.f, 0.f);
107 result.
normals.emplace_back(0.f, 1.f, 0.f);
108 result.
indices.emplace_back(16, 18, 17);
109 result.
indices.emplace_back(17, 18, 19);
111 result.
vertices.emplace_back(maxCorner.x, minCorner.y, minCorner.z);
112 result.
vertices.emplace_back(minCorner);
113 result.
vertices.emplace_back(maxCorner.x, minCorner.y, maxCorner.z);
114 result.
vertices.emplace_back(minCorner.x, minCorner.y, maxCorner.z);
115 result.
normals.emplace_back(0.f, -1.f, 0.f);
116 result.
normals.emplace_back(0.f, -1.f, 0.f);
117 result.
normals.emplace_back(0.f, -1.f, 0.f);
118 result.
normals.emplace_back(0.f, -1.f, 0.f);
119 result.
indices.emplace_back(20, 22, 21);
120 result.
indices.emplace_back(21, 22, 23);
std::vector< Vector4f > Vector4fs
TriangleMesh createBox(const Vector3f &minCorner, const Vector3f &maxCorner)
std::vector< Vector3f > Vector3fs
std::vector< Vector2f > textureCoordinates
std::vector< Vector3ui > indices