glDrawArrays在iOS中崩溃 - 多个Line Strip

时间:2012-05-06 20:33:55

标签: iphone ios ipad opengl-es

我在以下代码中遇到了崩溃:

-(void)EAGLViewNeedsRedraw:(EAGLView *)EAGLView {
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

   glMatrixMode(GL_MODELVIEW);
   glLoadIdentity();

   glTranslatef(-100.0f, -60.0f, -180.0f);
   glMultMatrixf(transform);

   glVertexPointer(3, GL_FLOAT, 0, &fiber_model_vertices[0]);
   glEnableClientState(GL_VERTEX_ARRAY);

   // Do the drawing
   for (int i=0; i<[tracF num_fibers];i++) {
           glDrawArrays(GL_LINE_STRIP, 
                 [tracF array_offset:i], 
                 [tracF num_vertices_for_fiber:i]);
    }
}

在拨打glDrawArrays 276次后,它崩溃了。 glDrawArrays来电数量有限制吗?

1 个答案:

答案 0 :(得分:0)

我已经发现了问题。

似乎是顶点缓冲区对象的限制。当我禁用VBO时,程序不再崩溃。