- Timestamp:
- Jun 14, 2006, 11:49:33 PM (18 years ago)
- Location:
- branches/bsp_model/src/lib/graphics/importer/md3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/bsp_model/src/lib/graphics/importer/md3/md3_data.cc
r8420 r8423 335 335 int MD3Data::readMeshVertices(FILE* pFile, int fileOffset, int mesh) 336 336 { 337 return 0; 338 } 339 340 } 341 342 343 344 345 346 347 337 // reserver memory for the vertex informations 338 this->meshes[mesh]->meshFrames = new sVec3D[this->meshes[mesh]->header->meshFrameNum * this->meshes[mesh]->header->vertexNum]; 339 this->meshes[mesh]->normals = new MD3Normal[this->meshes[mesh]->header->meshFrameNum * this->meshes[mesh]->header->vertexNum]; 340 341 // read out the compressed data 342 MD3VertexCompressed* vc = new MD3VertexCompressed[this->meshes[mesh]->header->meshFrameNum * this->meshes[mesh]->header->vertexNum]; 343 fread(vc, 1, sizeof(MD3VertexCompressed), pFile); 344 345 int index; 346 347 for( int i = 0; i < this->meshes[mesh]->header->meshFrameNum; i++) 348 { 349 for( int j = 0; j < this->meshes[mesh]->header->vertexNum; j++) 350 { 351 index = i * this->meshes[mesh]->header->meshFrameNum + j; 352 this->meshes[mesh]->meshFrames[index][0] = (float)vc[index].vector[0] / 64.0f; 353 this->meshes[mesh]->meshFrames[index][1] = (float)vc[index].vector[1] / 64.0f; 354 this->meshes[mesh]->meshFrames[index][2] = (float)vc[index].vector[2] / 64.0f; 355 356 this->meshes[mesh]->normals[index].vertexNormal[0] = vc[index].vertexNormal[0]; 357 this->meshes[mesh]->normals[index].vertexNormal[1] = vc[index].vertexNormal[1]; 358 } 359 } 360 361 // delete the temp memory again 362 delete [] vc; 363 364 return this->meshes[mesh]->header->meshFrameNum * this->meshes[mesh]->header->vertexNum * sizeof(MD3VertexCompressed); 365 } 366 367 } 368 369 370 371 372 373 374 -
branches/bsp_model/src/lib/graphics/importer/md3/md3_mesh.h
r8420 r8423 53 53 }; 54 54 55 typedef struct MD3Normal { 56 int vertexNormal[2]; //!< vertex normals 57 }; 58 59 typedef struct MD3VertexCompressed { 60 short vector[3]; //!< compressed vertex information 61 unsigned char vertexNormal[2]; //!< vertex normals compressed 62 }; 63 64 55 65 56 66 class MD3Mesh … … 67 77 MD3Triangle* triangles; //!< indices into mesh frames and texture coord arrays 68 78 MD3TexVecs* texVecs; //!< tex vecs coordinates 79 sVec3D* meshFrames; //!< mesh frames 80 MD3Normal* normals; //!< 3d array of normals with spherical coordinates giving the dir of the vertex normal 69 81 70 float* textureCoords; //!< U/V textures coordinates of vertices71 Vector meshFrames; //!< mesh frames72 82 }; 73 83
Note: See TracChangeset
for help on using the changeset viewer.