我加载 obj 模型并尝试使用 Android NDK 使用 OpenGL ES 渲染它们:
class ObjModel{
public:
ObjModel();
~ObjModel();
int numVertex, numNormal,numTexCoord, numTriange;
float *vertexArray;
float *normalArray;
float *texCoordArray;
unsigned short *indexArray;
void loadModel(string fileName);
};
model->loadModel(filename);
glVertexPointer(3, GL_FLOAT, 0, &(model->vertexArray[0]));
glNormalPointer(GL_FLOAT, 0, &(model->normalArray[0]));
glDrawElements(GL_TRIANGLES, model->numTriange, GL_UNSIGNED_SHORT,
&(model->indexArray[0]));
模型没有完全渲染,我只看到了一部分。 我检查了数组中的数据,它们被正确解析了。我认为唯一的问题可能是传递参数。我做得对吗?
最佳答案
希望对您有所帮助!我认为您只是漏掉了数字 3!
glDrawElements(GL_TRIANGLES, 3 * model->numTriange, GL_UNSIGNED_SHORT,
&(model->indexArray[0]));
关于android - 无法使用 C++ 在 OpenGL ES 1.x 中绘制加载模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8896951/