0

次のコードでクラッシュします。

-(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]);
    }
}

を 276 回呼び出すとクラッシュしglDrawArraysます。glDrawArrays通話回数に制限はありますか?

4

1 に答える 1

0

私は問題を理解しました。

Vertex Buffer Objects の制限のようです。VBO を無効にすると、プログラムがクラッシュしなくなりました。

于 2012-05-08T14:23:26.727 に答える