I m试图装上我编成以下文件:
vertexX vertexY vertexZ normalX normalY normalZ
并且
index1 index2 index3
病媒和病媒阵列的形式,然后由我直接以开放式-ES的形式提供。 我的问题是,当我试图将模型装入阵列时,大约需要40秒钟才能装上。 我不敢肯定,为什么它如此缓慢,我看到其他法典只用几秒钟就装上同样的模式。 任何建议? 我的档案装载法如下:
-(void)loadModel:(NSString*)filePath
{
try {
ifstream objFile([filePath UTF8String]);
objFile >> numVertices;
objFile.ignore(128,
);
vertices.resize(numVertices*6);
VertexNormal* vertex = (VertexNormal*) &vertices[0];
svec3* faceDef;
while (objFile) {
char c = objFile.get();
switch (c) {
case v :
{
objFile >> vertex->vertices.x >> vertex->vertices.y >> vertex->vertices.z
>> vertex->normals.x >> vertex->normals.y >> vertex->normals.z;
vertex++;
break;
}
case f :
{
objFile >> faceDef->x >> faceDef->y >> faceDef->z;
faceDef++;
break;
}
case # :
{
part newPart;
partList.push_back(newPart);
numObjects++;
objFile.ignore(128,
);
int numFaces;
objFile >> numFaces;
partList[partList.size()-1].faces.resize(numFaces*3);
partList[partList.size()-1].numFaces = numFaces;
faceDef = (svec3*) &partList[partList.size()-1].faces[0];
break;
}
default:
break;
}
objFile.ignore(128,
);
}
objFile.close();
free(objFile);
} catch (NSException *ex) {
NSLog(@"%@", [ex reason]);
}
}
我的思路之一是将阵列编成双手文件,然后将其简单化为我的节目。 虽然如此,但也许可以按照这些思路找到解决办法。