2012-05-06 75 views
0

我得到下面的代碼崩潰:調用glDrawArrays iOS中崩潰 - 多線地帶

-(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電話的數量是否有限制?

+0

'-array_offset:'和'-num_vertices_for_fiber:'返回什麼值?你的數組是否足夠大以使這些值有意義? – user1118321

+0

是的,他們足夠大。 – ppaulojr

+0

任何崩潰信息? –

回答

0

我已經知道了這個問題。

這似乎是頂點緩衝區對象的限制。當我禁用VBO時,程序不會再崩潰。

+0

你如何禁用VBO? –