2012-12-19 32 views
0

我試圖讓實例化渲染工作,但我似乎無法找到爲什麼我的glBufferSubData給我一個1281異常(無效值)的原因。glBufferSubData 1281錯誤

這裏是我的代碼:

FloatBuffer square_vertices_fb = BufferUtils.createFloatBuffer(16); 
    square_vertices_fb.put(square_vertices); 
    square_vertices_fb.rewind(); 

    FloatBuffer instance_colors_fb = BufferUtils.createFloatBuffer(instance_colors.length); 
    instance_colors_fb.put(instance_colors); 
    instance_colors_fb.rewind(); 

    FloatBuffer instance_positions_fb = BufferUtils.createFloatBuffer(instance_positions.length); 
    instance_positions_fb.put(instance_positions); 
    instance_positions_fb.rewind(); 
    glBufferData(GL_ARRAY_BUFFER, square_vertices.length + instance_colors.length + instance_positions.length, GL_STATIC_DRAW); 
    System.out.println(Integer.toString(glGetError())); 
    glBufferSubData(GL_ARRAY_BUFFER, 0, square_vertices_fb); 
    System.out.println(Integer.toString(glGetError())); 
    glBufferSubData(GL_ARRAY_BUFFER, square_vertices.length, instance_colors_fb); 
    glBufferSubData(GL_ARRAY_BUFFER, square_vertices.length + instance_colors.length, instance_positions_fb); 

我得到0在第一個錯誤校驗(沒有錯誤),但只是第一glBufferSubData後的1281錯誤。

關於這裏有什麼問題的任何想法?

回答

0

好吧,我發現LWJGL的glBufferSubData需要以字節爲單位的偏移量。問題已修復。