diff --git a/Renderer.cpp b/Renderer.cpp index da6eda1..bcec60d 100755 --- a/Renderer.cpp +++ b/Renderer.cpp @@ -618,6 +618,8 @@ namespace ZL { static const std::string vColor("vColor"); static const std::string vTexCoord("vTexCoord"); static const std::string vPosition("vPosition"); + + //glBindVertexArray(VertexRenderStruct.vao->getBuffer()); //Check if main thread, check if data is not empty... if (VertexRenderStruct.data.NormalData.size() > 0) diff --git a/TextModel.cpp b/TextModel.cpp index 025c5ae..bbb3979 100644 --- a/TextModel.cpp +++ b/TextModel.cpp @@ -186,11 +186,11 @@ namespace ZL result.PositionData.push_back(vertices[triangles[i][1]]); result.PositionData.push_back(vertices[triangles[i][2]]); - + /* result.NormalData.push_back(normals[triangles[i][0]]); result.NormalData.push_back(normals[triangles[i][1]]); result.NormalData.push_back(normals[triangles[i][2]]); - + */ result.TexCoordData.push_back(uvCoords[i][0]); result.TexCoordData.push_back(uvCoords[i][1]); result.TexCoordData.push_back(uvCoords[i][2]); @@ -205,10 +205,11 @@ namespace ZL result.PositionData[i].v[1] = tempVec.v[2]; result.PositionData[i].v[2] = tempVec.v[0]; + /* tempVec = result.NormalData[i]; result.NormalData[i].v[0] = tempVec.v[1]; result.NormalData[i].v[1] = tempVec.v[2]; - result.NormalData[i].v[2] = tempVec.v[0]; + result.NormalData[i].v[2] = tempVec.v[0];*/ } diff --git a/cone001.txt b/cone001.txt new file mode 100644 index 0000000..14c24c3 --- /dev/null +++ b/cone001.txt @@ -0,0 +1,2805 @@ +===Vertices: 200 +Vertex 0: +Vertex 1: +Vertex 2: +Vertex 3: +Vertex 4: +Vertex 5: +Vertex 6: +Vertex 7: +Vertex 8: +Vertex 9: +Vertex 10: +Vertex 11: +Vertex 12: +Vertex 13: +Vertex 14: +Vertex 15: +Vertex 16: +Vertex 17: +Vertex 18: +Vertex 19: +Vertex 20: +Vertex 21: +Vertex 22: +Vertex 23: +Vertex 24: +Vertex 25: +Vertex 26: +Vertex 27: +Vertex 28: +Vertex 29: +Vertex 30: +Vertex 31: +Vertex 32: +Vertex 33: +Vertex 34: +Vertex 35: +Vertex 36: +Vertex 37: +Vertex 38: +Vertex 39: +Vertex 40: +Vertex 41: +Vertex 42: +Vertex 43: +Vertex 44: +Vertex 45: +Vertex 46: +Vertex 47: +Vertex 48: +Vertex 49: +Vertex 50: +Vertex 51: +Vertex 52: +Vertex 53: +Vertex 54: +Vertex 55: +Vertex 56: +Vertex 57: +Vertex 58: +Vertex 59: +Vertex 60: +Vertex 61: +Vertex 62: +Vertex 63: +Vertex 64: +Vertex 65: +Vertex 66: +Vertex 67: +Vertex 68: +Vertex 69: +Vertex 70: +Vertex 71: +Vertex 72: +Vertex 73: +Vertex 74: +Vertex 75: +Vertex 76: +Vertex 77: +Vertex 78: +Vertex 79: +Vertex 80: +Vertex 81: +Vertex 82: +Vertex 83: +Vertex 84: +Vertex 85: +Vertex 86: +Vertex 87: +Vertex 88: +Vertex 89: +Vertex 90: +Vertex 91: +Vertex 92: +Vertex 93: +Vertex 94: +Vertex 95: +Vertex 96: +Vertex 97: +Vertex 98: +Vertex 99: +Vertex 100: +Vertex 101: +Vertex 102: +Vertex 103: +Vertex 104: +Vertex 105: +Vertex 106: +Vertex 107: +Vertex 108: +Vertex 109: +Vertex 110: +Vertex 111: +Vertex 112: +Vertex 113: +Vertex 114: +Vertex 115: +Vertex 116: +Vertex 117: +Vertex 118: +Vertex 119: +Vertex 120: +Vertex 121: +Vertex 122: +Vertex 123: +Vertex 124: +Vertex 125: +Vertex 126: +Vertex 127: +Vertex 128: +Vertex 129: +Vertex 130: +Vertex 131: +Vertex 132: +Vertex 133: +Vertex 134: +Vertex 135: +Vertex 136: +Vertex 137: +Vertex 138: +Vertex 139: +Vertex 140: +Vertex 141: +Vertex 142: +Vertex 143: +Vertex 144: +Vertex 145: +Vertex 146: +Vertex 147: +Vertex 148: +Vertex 149: +Vertex 150: +Vertex 151: +Vertex 152: +Vertex 153: +Vertex 154: +Vertex 155: +Vertex 156: +Vertex 157: +Vertex 158: +Vertex 159: +Vertex 160: +Vertex 161: +Vertex 162: +Vertex 163: +Vertex 164: +Vertex 165: +Vertex 166: +Vertex 167: +Vertex 168: +Vertex 169: +Vertex 170: +Vertex 171: +Vertex 172: +Vertex 173: +Vertex 174: +Vertex 175: +Vertex 176: +Vertex 177: +Vertex 178: +Vertex 179: +Vertex 180: +Vertex 181: +Vertex 182: +Vertex 183: +Vertex 184: +Vertex 185: +Vertex 186: +Vertex 187: +Vertex 188: +Vertex 189: +Vertex 190: +Vertex 191: +Vertex 192: +Vertex 193: +Vertex 194: +Vertex 195: +Vertex 196: +Vertex 197: +Vertex 198: +Vertex 199: +===UV Coordinates: +Face count: 400 +Face 0 +UV Count: 3 + UV + UV + UV +Face 1 +UV Count: 3 + UV + UV + UV +Face 2 +UV Count: 3 + UV + UV + UV +Face 3 +UV Count: 3 + UV + UV + UV +Face 4 +UV Count: 3 + UV + UV + UV +Face 5 +UV Count: 3 + UV + UV + UV +Face 6 +UV Count: 3 + UV + UV + UV +Face 7 +UV Count: 3 + UV + UV + UV +Face 8 +UV Count: 3 + UV + UV + UV +Face 9 +UV Count: 3 + UV + UV + UV +Face 10 +UV Count: 3 + UV + UV + UV +Face 11 +UV Count: 3 + UV + UV + UV +Face 12 +UV Count: 3 + UV + UV + UV +Face 13 +UV Count: 3 + UV + UV + UV +Face 14 +UV Count: 3 + UV + UV + UV +Face 15 +UV Count: 3 + UV + UV + UV +Face 16 +UV Count: 3 + UV + UV + UV +Face 17 +UV Count: 3 + UV + UV + UV +Face 18 +UV Count: 3 + UV + UV + UV +Face 19 +UV Count: 3 + UV + UV + UV +Face 20 +UV Count: 3 + UV + UV + UV +Face 21 +UV Count: 3 + UV + UV + UV +Face 22 +UV Count: 3 + UV + UV + UV +Face 23 +UV Count: 3 + UV + UV + UV +Face 24 +UV Count: 3 + UV + UV + UV +Face 25 +UV Count: 3 + UV + UV + UV +Face 26 +UV Count: 3 + UV + UV + UV +Face 27 +UV Count: 3 + UV + UV + UV +Face 28 +UV Count: 3 + UV + UV + UV +Face 29 +UV Count: 3 + UV + UV + UV +Face 30 +UV Count: 3 + UV + UV + UV +Face 31 +UV Count: 3 + UV + UV + UV +Face 32 +UV Count: 3 + UV + UV + UV +Face 33 +UV Count: 3 + UV + UV + UV +Face 34 +UV Count: 3 + UV + UV + UV +Face 35 +UV Count: 3 + UV + UV + UV +Face 36 +UV Count: 3 + UV + UV + UV +Face 37 +UV Count: 3 + UV + UV + UV +Face 38 +UV Count: 3 + UV + UV + UV +Face 39 +UV Count: 3 + UV + UV + UV +Face 40 +UV Count: 3 + UV + UV + UV +Face 41 +UV Count: 3 + UV + UV + UV +Face 42 +UV Count: 3 + UV + UV + UV +Face 43 +UV Count: 3 + UV + UV + UV +Face 44 +UV Count: 3 + UV + UV + UV +Face 45 +UV Count: 3 + UV + UV + UV +Face 46 +UV Count: 3 + UV + UV + UV +Face 47 +UV Count: 3 + UV + UV + UV +Face 48 +UV Count: 3 + UV + UV + UV +Face 49 +UV Count: 3 + UV + UV + UV +Face 50 +UV Count: 3 + UV + UV + UV +Face 51 +UV Count: 3 + UV + UV + UV +Face 52 +UV Count: 3 + UV + UV + UV +Face 53 +UV Count: 3 + UV + UV + UV +Face 54 +UV Count: 3 + UV + UV + UV +Face 55 +UV Count: 3 + UV + UV + UV +Face 56 +UV Count: 3 + UV + UV + UV +Face 57 +UV Count: 3 + UV + UV + UV +Face 58 +UV Count: 3 + UV + UV + UV +Face 59 +UV Count: 3 + UV + UV + UV +Face 60 +UV Count: 3 + UV + UV + UV +Face 61 +UV Count: 3 + UV + UV + UV +Face 62 +UV Count: 3 + UV + UV + UV +Face 63 +UV Count: 3 + UV + UV + UV +Face 64 +UV Count: 3 + UV + UV + UV +Face 65 +UV Count: 3 + UV + UV + UV +Face 66 +UV Count: 3 + UV + UV + UV +Face 67 +UV Count: 3 + UV + UV + UV +Face 68 +UV Count: 3 + UV + UV + UV +Face 69 +UV Count: 3 + UV + UV + UV +Face 70 +UV Count: 3 + UV + UV + UV +Face 71 +UV Count: 3 + UV + UV + UV +Face 72 +UV Count: 3 + UV + UV + UV +Face 73 +UV Count: 3 + UV + UV + UV +Face 74 +UV Count: 3 + UV + UV + UV +Face 75 +UV Count: 3 + UV + UV + UV +Face 76 +UV Count: 3 + UV + UV + UV +Face 77 +UV Count: 3 + UV + UV + UV +Face 78 +UV Count: 3 + UV + UV + UV +Face 79 +UV Count: 3 + UV + UV + UV +Face 80 +UV Count: 3 + UV + UV + UV +Face 81 +UV Count: 3 + UV + UV + UV +Face 82 +UV Count: 3 + UV + UV + UV +Face 83 +UV Count: 3 + UV + UV + UV +Face 84 +UV Count: 3 + UV + UV + UV +Face 85 +UV Count: 3 + UV + UV + UV +Face 86 +UV Count: 3 + UV + UV + UV +Face 87 +UV Count: 3 + UV + UV + UV +Face 88 +UV Count: 3 + UV + UV + UV +Face 89 +UV Count: 3 + UV + UV + UV +Face 90 +UV Count: 3 + UV + UV + UV +Face 91 +UV Count: 3 + UV + UV + UV +Face 92 +UV Count: 3 + UV + UV + UV +Face 93 +UV Count: 3 + UV + UV + UV +Face 94 +UV Count: 3 + UV + UV + UV +Face 95 +UV Count: 3 + UV + UV + UV +Face 96 +UV Count: 3 + UV + UV + UV +Face 97 +UV Count: 3 + UV + UV + UV +Face 98 +UV Count: 3 + UV + UV + UV +Face 99 +UV Count: 3 + UV + UV + UV +Face 100 +UV Count: 3 + UV + UV + UV +Face 101 +UV Count: 3 + UV + UV + UV +Face 102 +UV Count: 3 + UV + UV + UV +Face 103 +UV Count: 3 + UV + UV + UV +Face 104 +UV Count: 3 + UV + UV + UV +Face 105 +UV Count: 3 + UV + UV + UV +Face 106 +UV Count: 3 + UV + UV + UV +Face 107 +UV Count: 3 + UV + UV + UV +Face 108 +UV Count: 3 + UV + UV + UV +Face 109 +UV Count: 3 + UV + UV + UV +Face 110 +UV Count: 3 + UV + UV + UV +Face 111 +UV Count: 3 + UV + UV + UV +Face 112 +UV Count: 3 + UV + UV + UV +Face 113 +UV Count: 3 + UV + UV + UV +Face 114 +UV Count: 3 + UV + UV + UV +Face 115 +UV Count: 3 + UV + UV + UV +Face 116 +UV Count: 3 + UV + UV + UV +Face 117 +UV Count: 3 + UV + UV + UV +Face 118 +UV Count: 3 + UV + UV + UV +Face 119 +UV Count: 3 + UV + UV + UV +Face 120 +UV Count: 3 + UV + UV + UV +Face 121 +UV Count: 3 + UV + UV + UV +Face 122 +UV Count: 3 + UV + UV + UV +Face 123 +UV Count: 3 + UV + UV + UV +Face 124 +UV Count: 3 + UV + UV + UV +Face 125 +UV Count: 3 + UV + UV + UV +Face 126 +UV Count: 3 + UV + UV + UV +Face 127 +UV Count: 3 + UV + UV + UV +Face 128 +UV Count: 3 + UV + UV + UV +Face 129 +UV Count: 3 + UV + UV + UV +Face 130 +UV Count: 3 + UV + UV + UV +Face 131 +UV Count: 3 + UV + UV + UV +Face 132 +UV Count: 3 + UV + UV + UV +Face 133 +UV Count: 3 + UV + UV + UV +Face 134 +UV Count: 3 + UV + UV + UV +Face 135 +UV Count: 3 + UV + UV + UV +Face 136 +UV Count: 3 + UV + UV + UV +Face 137 +UV Count: 3 + UV + UV + UV +Face 138 +UV Count: 3 + UV + UV + UV +Face 139 +UV Count: 3 + UV + UV + UV +Face 140 +UV Count: 3 + UV + UV + UV +Face 141 +UV Count: 3 + UV + UV + UV +Face 142 +UV Count: 3 + UV + UV + UV +Face 143 +UV Count: 3 + UV + UV + UV +Face 144 +UV Count: 3 + UV + UV + UV +Face 145 +UV Count: 3 + UV + UV + UV +Face 146 +UV Count: 3 + UV + UV + UV +Face 147 +UV Count: 3 + UV + UV + UV +Face 148 +UV Count: 3 + UV + UV + UV +Face 149 +UV Count: 3 + UV + UV + UV +Face 150 +UV Count: 3 + UV + UV + UV +Face 151 +UV Count: 3 + UV + UV + UV +Face 152 +UV Count: 3 + UV + UV + UV +Face 153 +UV Count: 3 + UV + UV + UV +Face 154 +UV Count: 3 + UV + UV + UV +Face 155 +UV Count: 3 + UV + UV + UV +Face 156 +UV Count: 3 + UV + UV + UV +Face 157 +UV Count: 3 + UV + UV + UV +Face 158 +UV Count: 3 + UV + UV + UV +Face 159 +UV Count: 3 + UV + UV + UV +Face 160 +UV Count: 3 + UV + UV + UV +Face 161 +UV Count: 3 + UV + UV + UV +Face 162 +UV Count: 3 + UV + UV + UV +Face 163 +UV Count: 3 + UV + UV + UV +Face 164 +UV Count: 3 + UV + UV + UV +Face 165 +UV Count: 3 + UV + UV + UV +Face 166 +UV Count: 3 + UV + UV + UV +Face 167 +UV Count: 3 + UV + UV + UV +Face 168 +UV Count: 3 + UV + UV + UV +Face 169 +UV Count: 3 + UV + UV + UV +Face 170 +UV Count: 3 + UV + UV + UV +Face 171 +UV Count: 3 + UV + UV + UV +Face 172 +UV Count: 3 + UV + UV + UV +Face 173 +UV Count: 3 + UV + UV + UV +Face 174 +UV Count: 3 + UV + UV + UV +Face 175 +UV Count: 3 + UV + UV + UV +Face 176 +UV Count: 3 + UV + UV + UV +Face 177 +UV Count: 3 + UV + UV + UV +Face 178 +UV Count: 3 + UV + UV + UV +Face 179 +UV Count: 3 + UV + UV + UV +Face 180 +UV Count: 3 + UV + UV + UV +Face 181 +UV Count: 3 + UV + UV + UV +Face 182 +UV Count: 3 + UV + UV + UV +Face 183 +UV Count: 3 + UV + UV + UV +Face 184 +UV Count: 3 + UV + UV + UV +Face 185 +UV Count: 3 + UV + UV + UV +Face 186 +UV Count: 3 + UV + UV + UV +Face 187 +UV Count: 3 + UV + UV + UV +Face 188 +UV Count: 3 + UV + UV + UV +Face 189 +UV Count: 3 + UV + UV + UV +Face 190 +UV Count: 3 + UV + UV + UV +Face 191 +UV Count: 3 + UV + UV + UV +Face 192 +UV Count: 3 + UV + UV + UV +Face 193 +UV Count: 3 + UV + UV + UV +Face 194 +UV Count: 3 + UV + UV + UV +Face 195 +UV Count: 3 + UV + UV + UV +Face 196 +UV Count: 3 + UV + UV + UV +Face 197 +UV Count: 3 + UV + UV + UV +Face 198 +UV Count: 3 + UV + UV + UV +Face 199 +UV Count: 3 + UV + UV + UV +Face 200 +UV Count: 3 + UV + UV + UV +Face 201 +UV Count: 3 + UV + UV + UV +Face 202 +UV Count: 3 + UV + UV + UV +Face 203 +UV Count: 3 + UV + UV + UV +Face 204 +UV Count: 3 + UV + UV + UV +Face 205 +UV Count: 3 + UV + UV + UV +Face 206 +UV Count: 3 + UV + UV + UV +Face 207 +UV Count: 3 + UV + UV + UV +Face 208 +UV Count: 3 + UV + UV + UV +Face 209 +UV Count: 3 + UV + UV + UV +Face 210 +UV Count: 3 + UV + UV + UV +Face 211 +UV Count: 3 + UV + UV + UV +Face 212 +UV Count: 3 + UV + UV + UV +Face 213 +UV Count: 3 + UV + UV + UV +Face 214 +UV Count: 3 + UV + UV + UV +Face 215 +UV Count: 3 + UV + UV + UV +Face 216 +UV Count: 3 + UV + UV + UV +Face 217 +UV Count: 3 + UV + UV + UV +Face 218 +UV Count: 3 + UV + UV + UV +Face 219 +UV Count: 3 + UV + UV + UV +Face 220 +UV Count: 3 + UV + UV + UV +Face 221 +UV Count: 3 + UV + UV + UV +Face 222 +UV Count: 3 + UV + UV + UV +Face 223 +UV Count: 3 + UV + UV + UV +Face 224 +UV Count: 3 + UV + UV + UV +Face 225 +UV Count: 3 + UV + UV + UV +Face 226 +UV Count: 3 + UV + UV + UV +Face 227 +UV Count: 3 + UV + UV + UV +Face 228 +UV Count: 3 + UV + UV + UV +Face 229 +UV Count: 3 + UV + UV + UV +Face 230 +UV Count: 3 + UV + UV + UV +Face 231 +UV Count: 3 + UV + UV + UV +Face 232 +UV Count: 3 + UV + UV + UV +Face 233 +UV Count: 3 + UV + UV + UV +Face 234 +UV Count: 3 + UV + UV + UV +Face 235 +UV Count: 3 + UV + UV + UV +Face 236 +UV Count: 3 + UV + UV + UV +Face 237 +UV Count: 3 + UV + UV + UV +Face 238 +UV Count: 3 + UV + UV + UV +Face 239 +UV Count: 3 + UV + UV + UV +Face 240 +UV Count: 3 + UV + UV + UV +Face 241 +UV Count: 3 + UV + UV + UV +Face 242 +UV Count: 3 + UV + UV + UV +Face 243 +UV Count: 3 + UV + UV + UV +Face 244 +UV Count: 3 + UV + UV + UV +Face 245 +UV Count: 3 + UV + UV + UV +Face 246 +UV Count: 3 + UV + UV + UV +Face 247 +UV Count: 3 + UV + UV + UV +Face 248 +UV Count: 3 + UV + UV + UV +Face 249 +UV Count: 3 + UV + UV + UV +Face 250 +UV Count: 3 + UV + UV + UV +Face 251 +UV Count: 3 + UV + UV + UV +Face 252 +UV Count: 3 + UV + UV + UV +Face 253 +UV Count: 3 + UV + UV + UV +Face 254 +UV Count: 3 + UV + UV + UV +Face 255 +UV Count: 3 + UV + UV + UV +Face 256 +UV Count: 3 + UV + UV + UV +Face 257 +UV Count: 3 + UV + UV + UV +Face 258 +UV Count: 3 + UV + UV + UV +Face 259 +UV Count: 3 + UV + UV + UV +Face 260 +UV Count: 3 + UV + UV + UV +Face 261 +UV Count: 3 + UV + UV + UV +Face 262 +UV Count: 3 + UV + UV + UV +Face 263 +UV Count: 3 + UV + UV + UV +Face 264 +UV Count: 3 + UV + UV + UV +Face 265 +UV Count: 3 + UV + UV + UV +Face 266 +UV Count: 3 + UV + UV + UV +Face 267 +UV Count: 3 + UV + UV + UV +Face 268 +UV Count: 3 + UV + UV + UV +Face 269 +UV Count: 3 + UV + UV + UV +Face 270 +UV Count: 3 + UV + UV + UV +Face 271 +UV Count: 3 + UV + UV + UV +Face 272 +UV Count: 3 + UV + UV + UV +Face 273 +UV Count: 3 + UV + UV + UV +Face 274 +UV Count: 3 + UV + UV + UV +Face 275 +UV Count: 3 + UV + UV + UV +Face 276 +UV Count: 3 + UV + UV + UV +Face 277 +UV Count: 3 + UV + UV + UV +Face 278 +UV Count: 3 + UV + UV + UV +Face 279 +UV Count: 3 + UV + UV + UV +Face 280 +UV Count: 3 + UV + UV + UV +Face 281 +UV Count: 3 + UV + UV + UV +Face 282 +UV Count: 3 + UV + UV + UV +Face 283 +UV Count: 3 + UV + UV + UV +Face 284 +UV Count: 3 + UV + UV + UV +Face 285 +UV Count: 3 + UV + UV + UV +Face 286 +UV Count: 3 + UV + UV + UV +Face 287 +UV Count: 3 + UV + UV + UV +Face 288 +UV Count: 3 + UV + UV + UV +Face 289 +UV Count: 3 + UV + UV + UV +Face 290 +UV Count: 3 + UV + UV + UV +Face 291 +UV Count: 3 + UV + UV + UV +Face 292 +UV Count: 3 + UV + UV + UV +Face 293 +UV Count: 3 + UV + UV + UV +Face 294 +UV Count: 3 + UV + UV + UV +Face 295 +UV Count: 3 + UV + UV + UV +Face 296 +UV Count: 3 + UV + UV + UV +Face 297 +UV Count: 3 + UV + UV + UV +Face 298 +UV Count: 3 + UV + UV + UV +Face 299 +UV Count: 3 + UV + UV + UV +Face 300 +UV Count: 3 + UV + UV + UV +Face 301 +UV Count: 3 + UV + UV + UV +Face 302 +UV Count: 3 + UV + UV + UV +Face 303 +UV Count: 3 + UV + UV + UV +Face 304 +UV Count: 3 + UV + UV + UV +Face 305 +UV Count: 3 + UV + UV + UV +Face 306 +UV Count: 3 + UV + UV + UV +Face 307 +UV Count: 3 + UV + UV + UV +Face 308 +UV Count: 3 + UV + UV + UV +Face 309 +UV Count: 3 + UV + UV + UV +Face 310 +UV Count: 3 + UV + UV + UV +Face 311 +UV Count: 3 + UV + UV + UV +Face 312 +UV Count: 3 + UV + UV + UV +Face 313 +UV Count: 3 + UV + UV + UV +Face 314 +UV Count: 3 + UV + UV + UV +Face 315 +UV Count: 3 + UV + UV + UV +Face 316 +UV Count: 3 + UV + UV + UV +Face 317 +UV Count: 3 + UV + UV + UV +Face 318 +UV Count: 3 + UV + UV + UV +Face 319 +UV Count: 3 + UV + UV + UV +Face 320 +UV Count: 3 + UV + UV + UV +Face 321 +UV Count: 3 + UV + UV + UV +Face 322 +UV Count: 3 + UV + UV + UV +Face 323 +UV Count: 3 + UV + UV + UV +Face 324 +UV Count: 3 + UV + UV + UV +Face 325 +UV Count: 3 + UV + UV + UV +Face 326 +UV Count: 3 + UV + UV + UV +Face 327 +UV Count: 3 + UV + UV + UV +Face 328 +UV Count: 3 + UV + UV + UV +Face 329 +UV Count: 3 + UV + UV + UV +Face 330 +UV Count: 3 + UV + UV + UV +Face 331 +UV Count: 3 + UV + UV + UV +Face 332 +UV Count: 3 + UV + UV + UV +Face 333 +UV Count: 3 + UV + UV + UV +Face 334 +UV Count: 3 + UV + UV + UV +Face 335 +UV Count: 3 + UV + UV + UV +Face 336 +UV Count: 3 + UV + UV + UV +Face 337 +UV Count: 3 + UV + UV + UV +Face 338 +UV Count: 3 + UV + UV + UV +Face 339 +UV Count: 3 + UV + UV + UV +Face 340 +UV Count: 3 + UV + UV + UV +Face 341 +UV Count: 3 + UV + UV + UV +Face 342 +UV Count: 3 + UV + UV + UV +Face 343 +UV Count: 3 + UV + UV + UV +Face 344 +UV Count: 3 + UV + UV + UV +Face 345 +UV Count: 3 + UV + UV + UV +Face 346 +UV Count: 3 + UV + UV + UV +Face 347 +UV Count: 3 + UV + UV + UV +Face 348 +UV Count: 3 + UV + UV + UV +Face 349 +UV Count: 3 + UV + UV + UV +Face 350 +UV Count: 3 + UV + UV + UV +Face 351 +UV Count: 3 + UV + UV + UV +Face 352 +UV Count: 3 + UV + UV + UV +Face 353 +UV Count: 3 + UV + UV + UV +Face 354 +UV Count: 3 + UV + UV + UV +Face 355 +UV Count: 3 + UV + UV + UV +Face 356 +UV Count: 3 + UV + UV + UV +Face 357 +UV Count: 3 + UV + UV + UV +Face 358 +UV Count: 3 + UV + UV + UV +Face 359 +UV Count: 3 + UV + UV + UV +Face 360 +UV Count: 3 + UV + UV + UV +Face 361 +UV Count: 3 + UV + UV + UV +Face 362 +UV Count: 3 + UV + UV + UV +Face 363 +UV Count: 3 + UV + UV + UV +Face 364 +UV Count: 3 + UV + UV + UV +Face 365 +UV Count: 3 + UV + UV + UV +Face 366 +UV Count: 3 + UV + UV + UV +Face 367 +UV Count: 3 + UV + UV + UV +Face 368 +UV Count: 3 + UV + UV + UV +Face 369 +UV Count: 3 + UV + UV + UV +Face 370 +UV Count: 3 + UV + UV + UV +Face 371 +UV Count: 3 + UV + UV + UV +Face 372 +UV Count: 3 + UV + UV + UV +Face 373 +UV Count: 3 + UV + UV + UV +Face 374 +UV Count: 3 + UV + UV + UV +Face 375 +UV Count: 3 + UV + UV + UV +Face 376 +UV Count: 3 + UV + UV + UV +Face 377 +UV Count: 3 + UV + UV + UV +Face 378 +UV Count: 3 + UV + UV + UV +Face 379 +UV Count: 3 + UV + UV + UV +Face 380 +UV Count: 3 + UV + UV + UV +Face 381 +UV Count: 3 + UV + UV + UV +Face 382 +UV Count: 3 + UV + UV + UV +Face 383 +UV Count: 3 + UV + UV + UV +Face 384 +UV Count: 3 + UV + UV + UV +Face 385 +UV Count: 3 + UV + UV + UV +Face 386 +UV Count: 3 + UV + UV + UV +Face 387 +UV Count: 3 + UV + UV + UV +Face 388 +UV Count: 3 + UV + UV + UV +Face 389 +UV Count: 3 + UV + UV + UV +Face 390 +UV Count: 3 + UV + UV + UV +Face 391 +UV Count: 3 + UV + UV + UV +Face 392 +UV Count: 3 + UV + UV + UV +Face 393 +UV Count: 3 + UV + UV + UV +Face 394 +UV Count: 3 + UV + UV + UV +Face 395 +UV Count: 3 + UV + UV + UV +Face 396 +UV Count: 3 + UV + UV + UV +Face 397 +UV Count: 3 + UV + UV + UV +Face 398 +UV Count: 3 + UV + UV + UV +Face 399 +UV Count: 3 + UV + UV + UV +===Normals: +Vertex 0: Normal +Vertex 1: Normal +Vertex 2: Normal +Vertex 3: Normal +Vertex 4: Normal +Vertex 5: Normal +Vertex 6: Normal +Vertex 7: Normal +Vertex 8: Normal +Vertex 9: Normal +Vertex 10: Normal +Vertex 11: Normal +Vertex 12: Normal +Vertex 13: Normal +Vertex 14: Normal +Vertex 15: Normal +Vertex 16: Normal +Vertex 17: Normal +Vertex 18: Normal +Vertex 19: Normal +Vertex 20: Normal +Vertex 21: Normal +Vertex 22: Normal +Vertex 23: Normal +Vertex 24: Normal +Vertex 25: Normal +Vertex 26: Normal +Vertex 27: Normal +Vertex 28: Normal +Vertex 29: Normal +Vertex 30: Normal +Vertex 31: Normal +Vertex 32: Normal +Vertex 33: Normal +Vertex 34: Normal +Vertex 35: Normal +Vertex 36: Normal +Vertex 37: Normal +Vertex 38: Normal +Vertex 39: Normal +Vertex 40: Normal +Vertex 41: Normal +Vertex 42: Normal +Vertex 43: Normal +Vertex 44: Normal +Vertex 45: Normal +Vertex 46: Normal +Vertex 47: Normal +Vertex 48: Normal +Vertex 49: Normal +Vertex 50: Normal +Vertex 51: Normal +Vertex 52: Normal +Vertex 53: Normal +Vertex 54: Normal +Vertex 55: Normal +Vertex 56: Normal +Vertex 57: Normal +Vertex 58: Normal +Vertex 59: Normal +Vertex 60: Normal +Vertex 61: Normal +Vertex 62: Normal +Vertex 63: Normal +Vertex 64: Normal +Vertex 65: Normal +Vertex 66: Normal +Vertex 67: Normal +Vertex 68: Normal +Vertex 69: Normal +Vertex 70: Normal +Vertex 71: Normal +Vertex 72: Normal +Vertex 73: Normal +Vertex 74: Normal +Vertex 75: Normal +Vertex 76: Normal +Vertex 77: Normal +Vertex 78: Normal +Vertex 79: Normal +Vertex 80: Normal +Vertex 81: Normal +Vertex 82: Normal +Vertex 83: Normal +Vertex 84: Normal +Vertex 85: Normal +Vertex 86: Normal +Vertex 87: Normal +Vertex 88: Normal +Vertex 89: Normal +Vertex 90: Normal +Vertex 91: Normal +Vertex 92: Normal +Vertex 93: Normal +Vertex 94: Normal +Vertex 95: Normal +Vertex 96: Normal +Vertex 97: Normal +Vertex 98: Normal +Vertex 99: Normal +Vertex 100: Normal +Vertex 101: Normal +Vertex 102: Normal +Vertex 103: Normal +Vertex 104: Normal +Vertex 105: Normal +Vertex 106: Normal +Vertex 107: Normal +Vertex 108: Normal +Vertex 109: Normal +Vertex 110: Normal +Vertex 111: Normal +Vertex 112: Normal +Vertex 113: Normal +Vertex 114: Normal +Vertex 115: Normal +Vertex 116: Normal +Vertex 117: Normal +Vertex 118: Normal +Vertex 119: Normal +Vertex 120: Normal +Vertex 121: Normal +Vertex 122: Normal +Vertex 123: Normal +Vertex 124: Normal +Vertex 125: Normal +Vertex 126: Normal +Vertex 127: Normal +Vertex 128: Normal +Vertex 129: Normal +Vertex 130: Normal +Vertex 131: Normal +Vertex 132: Normal +Vertex 133: Normal +Vertex 134: Normal +Vertex 135: Normal +Vertex 136: Normal +Vertex 137: Normal +Vertex 138: Normal +Vertex 139: Normal +Vertex 140: Normal +Vertex 141: Normal +Vertex 142: Normal +Vertex 143: Normal +Vertex 144: Normal +Vertex 145: Normal +Vertex 146: Normal +Vertex 147: Normal +Vertex 148: Normal +Vertex 149: Normal +Vertex 150: Normal +Vertex 151: Normal +Vertex 152: Normal +Vertex 153: Normal +Vertex 154: Normal +Vertex 155: Normal +Vertex 156: Normal +Vertex 157: Normal +Vertex 158: Normal +Vertex 159: Normal +Vertex 160: Normal +Vertex 161: Normal +Vertex 162: Normal +Vertex 163: Normal +Vertex 164: Normal +Vertex 165: Normal +Vertex 166: Normal +Vertex 167: Normal +Vertex 168: Normal +Vertex 169: Normal +Vertex 170: Normal +Vertex 171: Normal +Vertex 172: Normal +Vertex 173: Normal +Vertex 174: Normal +Vertex 175: Normal +Vertex 176: Normal +Vertex 177: Normal +Vertex 178: Normal +Vertex 179: Normal +Vertex 180: Normal +Vertex 181: Normal +Vertex 182: Normal +Vertex 183: Normal +Vertex 184: Normal +Vertex 185: Normal +Vertex 186: Normal +Vertex 187: Normal +Vertex 188: Normal +Vertex 189: Normal +Vertex 190: Normal +Vertex 191: Normal +Vertex 192: Normal +Vertex 193: Normal +Vertex 194: Normal +Vertex 195: Normal +Vertex 196: Normal +Vertex 197: Normal +Vertex 198: Normal +Vertex 199: Normal +===Triangles: 400 +Triangle: [15, 21, 34] +Triangle: [32, 35, 16] +Triangle: [8, 47, 32] +Triangle: [24, 51, 55] +Triangle: [57, 26, 28] +Triangle: [7, 33, 25] +Triangle: [52, 58, 14] +Triangle: [38, 50, 34] +Triangle: [34, 3, 38] +Triangle: [34, 60, 49] +Triangle: [30, 34, 49] +Triangle: [39, 50, 18] +Triangle: [39, 25, 33] +Triangle: [59, 15, 30] +Triangle: [56, 58, 45] +Triangle: [39, 17, 36] +Triangle: [35, 31, 16] +Triangle: [55, 35, 46] +Triangle: [51, 1, 31] +Triangle: [10, 36, 9] +Triangle: [37, 18, 38] +Triangle: [2, 38, 3] +Triangle: [56, 6, 4] +Triangle: [5, 43, 40] +Triangle: [12, 42, 13] +Triangle: [7, 52, 14] +Triangle: [4, 15, 56] +Triangle: [59, 14, 58] +Triangle: [31, 44, 16] +Triangle: [1, 53, 31] +Triangle: [23, 40, 53] +Triangle: [53, 19, 44] +Triangle: [32, 27, 8] +Triangle: [16, 54, 32] +Triangle: [44, 41, 54] +Triangle: [54, 12, 27] +Triangle: [37, 46, 17] +Triangle: [56, 20, 43] +Triangle: [52, 20, 45] +Triangle: [11, 42, 52] +Triangle: [36, 46, 57] +Triangle: [2, 55, 37] +Triangle: [28, 36, 57] +Triangle: [46, 47, 57] +Triangle: [48, 14, 29] +Triangle: [29, 60, 48] +Triangle: [59, 49, 60] +Triangle: [19, 43, 20] +Triangle: [20, 41, 19] +Triangle: [60, 33, 48] +Triangle: [75, 69, 84] +Triangle: [85, 82, 70] +Triangle: [97, 8, 82] +Triangle: [101, 78, 105] +Triangle: [26, 107, 28] +Triangle: [83, 7, 25] +Triangle: [108, 102, 68] +Triangle: [100, 88, 84] +Triangle: [64, 84, 88] +Triangle: [110, 84, 99] +Triangle: [84, 80, 99] +Triangle: [100, 89, 72] +Triangle: [25, 89, 83] +Triangle: [69, 109, 80] +Triangle: [108, 106, 95] +Triangle: [71, 89, 86] +Triangle: [81, 85, 70] +Triangle: [85, 105, 96] +Triangle: [62, 101, 81] +Triangle: [86, 10, 9] +Triangle: [72, 87, 88] +Triangle: [88, 63, 64] +Triangle: [67, 106, 65] +Triangle: [93, 66, 90] +Triangle: [92, 12, 13] +Triangle: [102, 7, 68] +Triangle: [69, 65, 106] +Triangle: [68, 109, 108] +Triangle: [94, 81, 70] +Triangle: [103, 62, 81] +Triangle: [90, 77, 103] +Triangle: [73, 103, 94] +Triangle: [27, 82, 8] +Triangle: [104, 70, 82] +Triangle: [91, 94, 104] +Triangle: [12, 104, 27] +Triangle: [96, 87, 71] +Triangle: [74, 106, 93] +Triangle: [74, 102, 95] +Triangle: [92, 11, 102] +Triangle: [96, 86, 107] +Triangle: [105, 63, 87] +Triangle: [86, 28, 107] +Triangle: [97, 96, 107] +Triangle: [68, 98, 79] +Triangle: [110, 79, 98] +Triangle: [99, 109, 110] +Triangle: [93, 73, 74] +Triangle: [91, 74, 73] +Triangle: [83, 110, 98] +Triangle: [21, 119, 134] +Triangle: [135, 132, 120] +Triangle: [147, 112, 132] +Triangle: [151, 24, 155] +Triangle: [126, 157, 128] +Triangle: [133, 111, 125] +Triangle: [158, 152, 118] +Triangle: [150, 138, 134] +Triangle: [3, 134, 138] +Triangle: [160, 134, 149] +Triangle: [134, 130, 149] +Triangle: [150, 139, 122] +Triangle: [125, 139, 133] +Triangle: [119, 159, 130] +Triangle: [158, 156, 145] +Triangle: [121, 139, 136] +Triangle: [131, 135, 120] +Triangle: [135, 155, 146] +Triangle: [1, 151, 131] +Triangle: [136, 114, 113] +Triangle: [122, 137, 138] +Triangle: [138, 2, 3] +Triangle: [6, 156, 4] +Triangle: [143, 5, 140] +Triangle: [142, 116, 117] +Triangle: [152, 111, 118] +Triangle: [119, 4, 156] +Triangle: [118, 159, 158] +Triangle: [144, 131, 120] +Triangle: [153, 1, 131] +Triangle: [140, 23, 153] +Triangle: [123, 153, 144] +Triangle: [127, 132, 112] +Triangle: [154, 120, 132] +Triangle: [141, 144, 154] +Triangle: [116, 154, 127] +Triangle: [146, 137, 121] +Triangle: [124, 156, 143] +Triangle: [124, 152, 145] +Triangle: [142, 115, 152] +Triangle: [146, 136, 157] +Triangle: [155, 2, 137] +Triangle: [136, 128, 157] +Triangle: [147, 146, 157] +Triangle: [118, 148, 129] +Triangle: [160, 129, 148] +Triangle: [149, 159, 160] +Triangle: [143, 123, 124] +Triangle: [141, 124, 123] +Triangle: [133, 160, 148] +Triangle: [162, 75, 173] +Triangle: [171, 174, 163] +Triangle: [112, 186, 171] +Triangle: [78, 190, 194] +Triangle: [196, 126, 128] +Triangle: [111, 172, 125] +Triangle: [191, 197, 161] +Triangle: [177, 189, 173] +Triangle: [173, 64, 177] +Triangle: [173, 199, 188] +Triangle: [169, 173, 188] +Triangle: [178, 189, 165] +Triangle: [178, 125, 172] +Triangle: [198, 162, 169] +Triangle: [195, 197, 184] +Triangle: [178, 164, 175] +Triangle: [174, 170, 163] +Triangle: [194, 174, 185] +Triangle: [190, 62, 170] +Triangle: [114, 175, 113] +Triangle: [176, 165, 177] +Triangle: [63, 177, 64] +Triangle: [195, 67, 65] +Triangle: [66, 182, 179] +Triangle: [116, 181, 117] +Triangle: [111, 191, 161] +Triangle: [65, 162, 195] +Triangle: [198, 161, 197] +Triangle: [170, 183, 163] +Triangle: [62, 192, 170] +Triangle: [77, 179, 192] +Triangle: [192, 166, 183] +Triangle: [171, 127, 112] +Triangle: [163, 193, 171] +Triangle: [183, 180, 193] +Triangle: [193, 116, 127] +Triangle: [176, 185, 164] +Triangle: [195, 167, 182] +Triangle: [191, 167, 184] +Triangle: [115, 181, 191] +Triangle: [175, 185, 196] +Triangle: [63, 194, 176] +Triangle: [128, 175, 196] +Triangle: [185, 186, 196] +Triangle: [187, 161, 168] +Triangle: [168, 199, 187] +Triangle: [198, 188, 199] +Triangle: [166, 182, 167] +Triangle: [167, 180, 166] +Triangle: [199, 172, 187] +Triangle: [15, 0, 21] +Triangle: [32, 47, 35] +Triangle: [8, 26, 47] +Triangle: [24, 22, 51] +Triangle: [57, 47, 26] +Triangle: [7, 14, 33] +Triangle: [52, 45, 58] +Triangle: [38, 18, 50] +Triangle: [34, 21, 3] +Triangle: [34, 50, 60] +Triangle: [30, 15, 34] +Triangle: [39, 33, 50] +Triangle: [39, 10, 25] +Triangle: [59, 58, 15] +Triangle: [56, 15, 58] +Triangle: [39, 18, 17] +Triangle: [35, 51, 31] +Triangle: [55, 51, 35] +Triangle: [51, 22, 1] +Triangle: [10, 39, 36] +Triangle: [37, 17, 18] +Triangle: [2, 37, 38] +Triangle: [56, 43, 6] +Triangle: [5, 6, 43] +Triangle: [12, 41, 42] +Triangle: [7, 11, 52] +Triangle: [4, 0, 15] +Triangle: [59, 29, 14] +Triangle: [31, 53, 44] +Triangle: [1, 23, 53] +Triangle: [23, 5, 40] +Triangle: [53, 40, 19] +Triangle: [32, 54, 27] +Triangle: [16, 44, 54] +Triangle: [44, 19, 41] +Triangle: [54, 41, 12] +Triangle: [37, 55, 46] +Triangle: [56, 45, 20] +Triangle: [52, 42, 20] +Triangle: [11, 13, 42] +Triangle: [36, 17, 46] +Triangle: [2, 24, 55] +Triangle: [28, 9, 36] +Triangle: [46, 35, 47] +Triangle: [48, 33, 14] +Triangle: [29, 59, 60] +Triangle: [59, 30, 49] +Triangle: [19, 40, 43] +Triangle: [20, 42, 41] +Triangle: [60, 50, 33] +Triangle: [75, 61, 69] +Triangle: [85, 97, 82] +Triangle: [97, 26, 8] +Triangle: [101, 76, 78] +Triangle: [26, 97, 107] +Triangle: [83, 68, 7] +Triangle: [108, 95, 102] +Triangle: [100, 72, 88] +Triangle: [64, 75, 84] +Triangle: [110, 100, 84] +Triangle: [84, 69, 80] +Triangle: [100, 83, 89] +Triangle: [25, 10, 89] +Triangle: [69, 108, 109] +Triangle: [108, 69, 106] +Triangle: [71, 72, 89] +Triangle: [81, 101, 85] +Triangle: [85, 101, 105] +Triangle: [62, 76, 101] +Triangle: [86, 89, 10] +Triangle: [72, 71, 87] +Triangle: [88, 87, 63] +Triangle: [67, 93, 106] +Triangle: [93, 67, 66] +Triangle: [92, 91, 12] +Triangle: [102, 11, 7] +Triangle: [69, 61, 65] +Triangle: [68, 79, 109] +Triangle: [94, 103, 81] +Triangle: [103, 77, 62] +Triangle: [90, 66, 77] +Triangle: [73, 90, 103] +Triangle: [27, 104, 82] +Triangle: [104, 94, 70] +Triangle: [91, 73, 94] +Triangle: [12, 91, 104] +Triangle: [96, 105, 87] +Triangle: [74, 95, 106] +Triangle: [74, 92, 102] +Triangle: [92, 13, 11] +Triangle: [96, 71, 86] +Triangle: [105, 78, 63] +Triangle: [86, 9, 28] +Triangle: [97, 85, 96] +Triangle: [68, 83, 98] +Triangle: [110, 109, 79] +Triangle: [99, 80, 109] +Triangle: [93, 90, 73] +Triangle: [91, 92, 74] +Triangle: [83, 100, 110] +Triangle: [21, 0, 119] +Triangle: [135, 147, 132] +Triangle: [147, 126, 112] +Triangle: [151, 22, 24] +Triangle: [126, 147, 157] +Triangle: [133, 118, 111] +Triangle: [158, 145, 152] +Triangle: [150, 122, 138] +Triangle: [3, 21, 134] +Triangle: [160, 150, 134] +Triangle: [134, 119, 130] +Triangle: [150, 133, 139] +Triangle: [125, 114, 139] +Triangle: [119, 158, 159] +Triangle: [158, 119, 156] +Triangle: [121, 122, 139] +Triangle: [131, 151, 135] +Triangle: [135, 151, 155] +Triangle: [1, 22, 151] +Triangle: [136, 139, 114] +Triangle: [122, 121, 137] +Triangle: [138, 137, 2] +Triangle: [6, 143, 156] +Triangle: [143, 6, 5] +Triangle: [142, 141, 116] +Triangle: [152, 115, 111] +Triangle: [119, 0, 4] +Triangle: [118, 129, 159] +Triangle: [144, 153, 131] +Triangle: [153, 23, 1] +Triangle: [140, 5, 23] +Triangle: [123, 140, 153] +Triangle: [127, 154, 132] +Triangle: [154, 144, 120] +Triangle: [141, 123, 144] +Triangle: [116, 141, 154] +Triangle: [146, 155, 137] +Triangle: [124, 145, 156] +Triangle: [124, 142, 152] +Triangle: [142, 117, 115] +Triangle: [146, 121, 136] +Triangle: [155, 24, 2] +Triangle: [136, 113, 128] +Triangle: [147, 135, 146] +Triangle: [118, 133, 148] +Triangle: [160, 159, 129] +Triangle: [149, 130, 159] +Triangle: [143, 140, 123] +Triangle: [141, 142, 124] +Triangle: [133, 150, 160] +Triangle: [162, 61, 75] +Triangle: [171, 186, 174] +Triangle: [112, 126, 186] +Triangle: [78, 76, 190] +Triangle: [196, 186, 126] +Triangle: [111, 161, 172] +Triangle: [191, 184, 197] +Triangle: [177, 165, 189] +Triangle: [173, 75, 64] +Triangle: [173, 189, 199] +Triangle: [169, 162, 173] +Triangle: [178, 172, 189] +Triangle: [178, 114, 125] +Triangle: [198, 197, 162] +Triangle: [195, 162, 197] +Triangle: [178, 165, 164] +Triangle: [174, 190, 170] +Triangle: [194, 190, 174] +Triangle: [190, 76, 62] +Triangle: [114, 178, 175] +Triangle: [176, 164, 165] +Triangle: [63, 176, 177] +Triangle: [195, 182, 67] +Triangle: [66, 67, 182] +Triangle: [116, 180, 181] +Triangle: [111, 115, 191] +Triangle: [65, 61, 162] +Triangle: [198, 168, 161] +Triangle: [170, 192, 183] +Triangle: [62, 77, 192] +Triangle: [77, 66, 179] +Triangle: [192, 179, 166] +Triangle: [171, 193, 127] +Triangle: [163, 183, 193] +Triangle: [183, 166, 180] +Triangle: [193, 180, 116] +Triangle: [176, 194, 185] +Triangle: [195, 184, 167] +Triangle: [191, 181, 167] +Triangle: [115, 117, 181] +Triangle: [175, 164, 185] +Triangle: [63, 78, 194] +Triangle: [128, 113, 175] +Triangle: [185, 174, 186] +Triangle: [187, 172, 161] +Triangle: [168, 198, 199] +Triangle: [198, 169, 188] +Triangle: [166, 179, 182] +Triangle: [167, 181, 180] +Triangle: [199, 189, 172] diff --git a/conus.bmp b/conus.bmp new file mode 100644 index 0000000..02b1888 Binary files /dev/null and b/conus.bmp differ diff --git a/main.cpp b/main.cpp index 19cffd8..2abc35f 100755 --- a/main.cpp +++ b/main.cpp @@ -26,6 +26,16 @@ namespace ZL int width = 0; int height = 0; + + float zoom = 10.0; + + bool leftPressed = false; + bool rightPressed = false; + bool upPressed = false; + bool downPressed = false; + + Vector3f cameraShift = {0,0,0}; + /* Vector2f birdStartPos; @@ -41,7 +51,8 @@ namespace ZL { std::shared_ptr testObjTexturePtr; std::shared_ptr roomTexturePtr; - + std::shared_ptr coneTexturePtr; + VertexDataStruct colorCubeMesh; VertexRenderStruct colorCubeMeshMutable; @@ -54,6 +65,9 @@ namespace ZL VertexDataStruct textMesh; VertexRenderStruct textMeshMutable; + VertexDataStruct coneMesh; + VertexRenderStruct coneMeshMutable; + } static SDL_Window* window = NULL; @@ -85,7 +99,7 @@ namespace ZL static const std::string vColorName = "vColor"; static const std::string textureUniformName = "Texture"; - glClearColor(0.0f, 0.1f, 0.0f, 1.0f); + glClearColor(0.3f, 0.3f, 0.3f, 1.0f); glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT); glViewport(0, 0, Env::width, Env::height); @@ -96,24 +110,33 @@ namespace ZL renderer.EnableVertexAttribArray(vPositionName); renderer.EnableVertexAttribArray(vTexCoordName); - renderer.PushPerspectiveProjectionMatrix(1.0 / 6.0, static_cast(Env::width) / static_cast(Env::height), 10, 50000); + renderer.PushPerspectiveProjectionMatrix(1.0 / 1.5, static_cast(Env::width) / static_cast(Env::height), 50, 10000); renderer.PushMatrix(); renderer.LoadIdentity(); - renderer.TranslateMatrix({ 0,0, -4000 }); - - float t = 0.7; + renderer.TranslateMatrix({ 0,0, -100* Env::zoom }); + + float t = 0.3; renderer.RotateMatrix(QuatFromRotateAroundX(t * M_PI / 2.0)); - GameObjects::textMeshMutable.AssignFrom(GameObjects::textMesh); - GameObjects::textMeshMutable.RefreshVBO(); + //GameObjects::textMeshMutable.AssignFrom(GameObjects::textMesh); + //GameObjects::textMeshMutable.RefreshVBO(); + glBindTexture(GL_TEXTURE_2D, GameObjects::coneTexturePtr->getTexID()); + renderer.DrawVertexRenderStruct(GameObjects::coneMeshMutable); + + renderer.TranslateMatrix(Env::cameraShift); glBindTexture(GL_TEXTURE_2D, GameObjects::roomTexturePtr->getTexID()); renderer.DrawVertexRenderStruct(GameObjects::textMeshMutable); + + + + + //renderer.RotateMatrix(QuatFromRotateAroundX(-M_PI / 2.0)); //renderer.RotateMatrix(QuatFromRotateAroundZ(-M_PI / 4.0)); @@ -204,6 +227,27 @@ namespace ZL } + void UpdateScene(size_t ms) + { + const float SPEED = 0.1f; + if (Env::leftPressed) + { + Env::cameraShift.v[0] += SPEED * ms; + } + if (Env::rightPressed) + { + Env::cameraShift.v[0] -= SPEED * ms; + } + + if (Env::upPressed) + { + Env::cameraShift.v[2] += SPEED * ms; + } + if (Env::downPressed) + { + Env::cameraShift.v[2] -= SPEED * ms; + } + } void ProcessTickCount() { @@ -219,11 +263,11 @@ namespace ZL { if (NewTickCount - LastTickCount > CONST_MAX_TIME_INTERVAL) { - //gs.UpdateScene(CONST_MAX_TIME_INTERVAL); //Limit game update speed to FPS + UpdateScene(CONST_MAX_TIME_INTERVAL); //Limit game update speed to FPS } else { - //gs.UpdateScene(NewTickCount - LastTickCount); + UpdateScene(NewTickCount - LastTickCount); } LastTickCount = NewTickCount; @@ -263,7 +307,8 @@ namespace ZL CheckGlError(); GameObjects::roomTexturePtr = std::make_shared(CreateTextureDataFromBmp24("./Kitchen_ceramics.bmp")); - + GameObjects::coneTexturePtr = std::make_shared(CreateTextureDataFromBmp24("./conus.bmp")); + GameObjects::colorCubeMesh = CreateCube3D(5.0); GameObjects::colorCubeMeshMutable.data = CreateCube3D(5.0); @@ -277,6 +322,15 @@ namespace ZL GameObjects::textMesh = LoadFromTextFile("./mesh001.txt"); + GameObjects::coneMesh = LoadFromTextFile("./cone001.txt"); + + GameObjects::coneMesh.Scale(200); + + GameObjects::textMeshMutable.AssignFrom(GameObjects::textMesh); + GameObjects::textMeshMutable.RefreshVBO(); + GameObjects::coneMeshMutable.AssignFrom(GameObjects::coneMesh); + GameObjects::coneMeshMutable.RefreshVBO(); + std::cout << "Hello test 4x" << std::endl; renderer.InitOpenGL(); @@ -309,18 +363,74 @@ namespace ZL if (event.type == SDL_QUIT) { ExitGameLoop = true; } - if (event.type == SDL_MOUSEBUTTONDOWN) - { + if (event.type == SDL_MOUSEBUTTONDOWN) { static int x = 0; GameObjects::bx.Interpolate(x); x = x + 2; } + if (event.type == SDL_MOUSEWHEEL) { + + static const float zoomstep = 1.0f; + if (event.wheel.y > 0) { + // Прокрутка вверх - увеличиваем zoom + Env::zoom -= zoomstep; + } + else if (event.wheel.y < 0) { + // Прокрутка вниз - уменьшаем zoom + Env::zoom += zoomstep; + } + // Ограничиваем zoom, чтобы он не стал отрицательным + if (Env::zoom < zoomstep) { + Env::zoom = zoomstep; + } + } + if (event.type == SDL_KEYDOWN) { + switch (event.key.keysym.sym) { + case SDLK_LEFT: + case SDLK_a: + Env::leftPressed = true; + break; + case SDLK_RIGHT: + case SDLK_d: + Env::rightPressed = true; + break; + case SDLK_UP: + case SDLK_w: + Env::upPressed = true; + break; + case SDLK_DOWN: + case SDLK_s: + Env::downPressed = true; + break; + } + + } + + if (event.type == SDL_KEYUP) { + switch (event.key.keysym.sym) { + case SDLK_LEFT: + case SDLK_a: + Env::leftPressed = false; + break; + case SDLK_RIGHT: + case SDLK_d: + Env::rightPressed = false; + break; + case SDLK_UP: + case SDLK_w: + Env::upPressed = false; + break; + case SDLK_DOWN: + case SDLK_s: + Env::downPressed = false; + break; + } + } } render(); - - }; + } };