|
|
如何解决任何3ds文件导入后如何能够在窗口中心显示
/////////////////////////////下面是坐标变换函数///////////////////////////////////////////
ReadVertices(t3DObject *pObject, tChunk *pPreChunk)
{ // 在读入实际的顶点之前,首先必须确定需要读入多少个顶点。
// 读入顶点的数目
pPreChunk->bytesRead += fread(&(pObject->numOfVerts), 1, 2, m_FilePointer);
// 分配顶点的存储空间,然后初始化结构体
pObject->pVerts = new CVector3 [pObject->numOfVerts];
memset(pObject->pVerts, 0, sizeof(CVector3) * pObject->numOfVerts);
// 读入顶点序列
pPreChunk->bytesRead += fread(pObject->pVerts, 1, pPreChunk->length - pPreChunk->bytesRead, m_FilePointer);
// 现在已经读入了所有的顶点。
// 因为3D Studio Max的模型的Z轴是指向上的,因此需要将y轴和z轴翻转过来。
// 具体的做法是将Y轴和Z轴交换,然后将Z轴反向。
// 遍历所有的顶点
for(int i = 0; i < pObject->numOfVerts; i++)
{ // 保存Y轴的值
float fTempY = pObject->pVerts.y;
// 设置Y轴的值等于Z轴的值
pObject->pVerts.y = pObject->pVerts.z;
// 设置Z轴的值等于-Y轴的值
pObject->pVerts.z = -fTempY;
}
}
/////////////////////////////如何变换成opengl坐标,将其显示在窗口中心显示// |
|