---------------------------------------------------------------------
| 136 | } |
| 137 | //--------------------------------------------------------------------- |
| 138 | void PrefabFactory::createCube(Mesh* mesh) |
| 139 | { |
| 140 | SubMesh* sub = mesh->createSubMesh(); |
| 141 | |
| 142 | const int NUM_VERTICES = 4 * 6; // 4 vertices per side * 6 sides |
| 143 | const int NUM_ENTRIES_PER_VERTEX = 8; |
| 144 | const int NUM_VERTEX_ENTRIES = NUM_VERTICES * NUM_ENTRIES_PER_VERTEX; |
| 145 | const int NUM_INDICES = 3 * 2 * 6; // 3 indices per face * 2 faces per side * 6 sides |
| 146 | |
| 147 | const float CUBE_SIZE = 100.0f; |
| 148 | const float CUBE_HALF_SIZE = CUBE_SIZE / 2.0f; |
| 149 | |
| 150 | // Create 4 vertices per side instead of 6 that are shared for the whole cube. |
| 151 | // The reason for this is with only 6 vertices the normals will look bad |
| 152 | // since each vertex can "point" in a different direction depending on the face it is included in. |
| 153 | float vertices[NUM_VERTEX_ENTRIES] = { |
| 154 | // front side |
| 155 | -CUBE_HALF_SIZE, -CUBE_HALF_SIZE, CUBE_HALF_SIZE, // pos |
| 156 | 0,0,1, // normal |
| 157 | 0,1, // texcoord |
| 158 | CUBE_HALF_SIZE, -CUBE_HALF_SIZE, CUBE_HALF_SIZE, |
| 159 | 0,0,1, |
| 160 | 1,1, |
| 161 | CUBE_HALF_SIZE, CUBE_HALF_SIZE, CUBE_HALF_SIZE, |
| 162 | 0,0,1, |
| 163 | 1,0, |
| 164 | -CUBE_HALF_SIZE, CUBE_HALF_SIZE, CUBE_HALF_SIZE , |
| 165 | 0,0,1, |
| 166 | 0,0, |
| 167 | |
| 168 | // back side |
| 169 | CUBE_HALF_SIZE, -CUBE_HALF_SIZE, -CUBE_HALF_SIZE, |
| 170 | 0,0,-1, |
| 171 | 0,1, |
| 172 | -CUBE_HALF_SIZE, -CUBE_HALF_SIZE, -CUBE_HALF_SIZE, |
| 173 | 0,0,-1, |
| 174 | 1,1, |
| 175 | -CUBE_HALF_SIZE, CUBE_HALF_SIZE, -CUBE_HALF_SIZE, |
| 176 | 0,0,-1, |
| 177 | 1,0, |
| 178 | CUBE_HALF_SIZE, CUBE_HALF_SIZE, -CUBE_HALF_SIZE, |
| 179 | 0,0,-1, |
| 180 | 0,0, |
| 181 | |
| 182 | // left side |
| 183 | -CUBE_HALF_SIZE, -CUBE_HALF_SIZE, -CUBE_HALF_SIZE, |
| 184 | -1,0,0, |
| 185 | 0,1, |
| 186 | -CUBE_HALF_SIZE, -CUBE_HALF_SIZE, CUBE_HALF_SIZE, |
| 187 | -1,0,0, |
| 188 | 1,1, |
| 189 | -CUBE_HALF_SIZE, CUBE_HALF_SIZE, CUBE_HALF_SIZE, |
| 190 | -1,0,0, |
| 191 | 1,0, |
| 192 | -CUBE_HALF_SIZE, CUBE_HALF_SIZE, -CUBE_HALF_SIZE, |
| 193 | -1,0,0, |
| 194 | 0,0, |
| 195 |
nothing calls this directly
no test coverage detected