void CLoad3DS::ReadVertexIndices(t3DObject
*pObject, tChunk *pPreviousChunk)
{
unsigned short index = 0;//digunakan
untuk membaca permukaan index
<Info>" didalam arahan
membaca index vertex bagi objek pertama anda dikehendaki untuk
membaca bilangannya dan seterusnya membaca nilainy sekali. Dingatkan
anda hanya perlu membaca 3 daripada 4 nilai bagi setiap permukaan.
Akhir sekali benderanya(flag) dapat
dilihat dalam 3D Studio Max tetapi ia tidak memberi sebarang
makna bagi anda"
// membaca bilangan permukaan
bagi objek
pPreviousChunk->bytesRead += fread(&pObject->numOfFaces,
1, 2, m_FilePointer);
// mengumpukkan memory yang cukup
bagi permukaan dan mengenalpasti rekabentuknya
pObject->pFaces = new tFace [pObject->numOfFaces];
memset(pObject->pFaces, 0, sizeof(tFace) * pObject->numOfFaces);
// melalui semua permukaan bagi
objek
for(int i = 0; i < pObject->numOfFaces; i++)
{
<Info>"seterusnya
membaca permukaan A kemudian B dan C, tetapi tidak membaca nilai
yang keempat akhir sekali benderanya(flag) dapat dapat dilihat
dalam 3D Studio Max tetapi ia tidak memberi sebarang makna bagi
anda"
for(int j = 0; j < 4; j++)
{
// membaca indek pertama bagi
permukaan yang sedia ada
pPreviousChunk->bytesRead += fread(&index, 1, sizeof(index),
m_FilePointer);
if(j < 3)
{
//menyimpan index bagi setiap
rekabentuk permuakaan
pObject->pFaces[i].vertIndex[j] = index;
}
}
}