首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

opengl顶点数组的有关问题

2012-05-07 
opengl顶点数组的问题以前是用glBegin/glEnd画图的,这两天改用了VBO,工作正常。但是担心可能有些机器可能不

opengl顶点数组的问题
以前是用glBegin/glEnd画图的,这两天改用了VBO,工作正常。但是担心可能有些机器可能不支持VBO,所以想保留一个候选模式,因为glBegin/glEnd效率太低,所以想用顶点数组,但是很奇怪,下面这段代码会引起崩溃:

C/C++ code
               glEnableClientState(GL_VERTEX_ARRAY);            glEnableClientState(GL_NORMAL_ARRAY);            glEnableClientState( GL_TEXTURE_COORD_ARRAY );              glVertexPointer(3, GL_FLOAT, 0, &Vertex[0]);              glNormalPointer(GL_FLOAT, 0, &Norm[0]);            glTexCoordPointer(2,GL_FLOAT, 0,&UV[0]);             glDrawArrays(GL_QUADS, 0, (int)Vertex.size());            glDisableClientState(GL_VERTEX_ARRAY);              glDisableClientState(GL_NORMAL_ARRAY);            glDisableClientState( GL_TEXTURE_COORD_ARRAY );

其中Vertex,Norm和UV都是vector<float>。
有经验的帮忙看看啊,am i missing anything?

[解决办法]
还有一点,vertex数组的大小也不是顶点的数量,三个float才组成一个顶点,如果第三个参数要用顶点的数量,也应该是vertx.size()/3吧。

热点排行