【发布时间】:2010-11-30 21:54:06
【问题描述】:
在过去的几周里,我一直在敲键盘。我要做的是将文本文件中的浮点数组(GLfloat)和无符号短裤数组(GLushort)加载到objective-c中的等效数组中,以便我可以渲染包含的对象。我已将数组加载到向量对象中
vector<float> vertices;
和
vector<GLushort> indices;
但由于某种原因,我无法弄清楚为什么我不能让这些渲染。这是我用于呈现上述内容的代码:
glVertexPointer(3, GL_FLOAT, sizeof(vertices[0])*6, &vertices[0]);
glNormalPoitner(GL_FLOAT, sizeof(vertices[0])*6, &vertices[3]);
glDrawElements(GL_TRIANGLES, sizeof(indices)/sizeof(indices[0]), GL_UNSIGNED_SHORT, indices);
示例数组如下:
vertices: (Vx, Vy, Vz, Nx, Ny, Nz)
{10, 10, 0, 0, 0, 1,
-10, 10, 0, 0, 0, 1,
-10, -10, 0, 0, 0, 1,
10, -10, 0, 0, 0, 1};
indices: (v1, v2, v3)
{0, 1, 2,
0, 2, 3};
我要从中加载这些数组以进行渲染的文本文件如下所示:
4 //Number of Vertices
###Vertices###
v 10 10 0 0 0 1
v -10 10 0 0 0 1
v -10 -10 0 0 0 1
v 10 -10 0 0 0 1
###Object1###
2 //Number of faces
f 0 1 2
f 3 4 5
矢量对象是最好的方法吗?如果不是,那是什么?我做错了什么,这些不会呈现?谢谢。
【问题讨论】:
-
“我无法渲染这些”。相反,你得到......什么?碰撞?黑屏?
-
对不起,我没有澄清,它只是没有渲染任何东西,除了我的 clearcolor 背景。就像我注释掉了我的 glDrawElements 行一样。说到这,对于我正在尝试做的事情,有没有比 glDrawElements 更有效的渲染方式?
标签: iphone objective-c opengl-es objective-c++ vertex-array