2012-11-12 2 views
1

Я представляю простой кубик VBO в LWJGL, OpenGL. 6 квадов с правильными нормалями, вершинами и цветами RGB. Однако, я получаю странную ошибку.OpenGL Cube weird bug

Weird cube VBO bug

Любые идеи о том, что может вызвать эту ошибку?

Спасибо!

Edit: Кубик код рисования:

glPushMatrix(); 
       GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vertex_buffer_id); 
       GL11.glVertexPointer(3, GL11.GL_FLOAT, 40, 0); 
       GL11.glNormalPointer(GL11.GL_FLOAT, 40, 12); 
       GL11.glColorPointer(4, GL11.GL_FLOAT, 40, 24); 
       GL11.glDrawArrays(GL11.GL_QUADS, 0, vertex_data_array.length/10); 
       glPopMatrix(); 
+0

напишите свой код пожалуйста. только тот, где вы нарисовываете куб. – toxicate20

+0

Добавлен код рисования :) – Basaa

ответ

0

Нашли проблему. Мой zNear был установлен в 0,00001. По какой-то причине он отлично работал, когда я изменил его на 0,01. Спасибо всем :)

+4

Возможно, что происходит, если вы не отбраковываете задние лица, в зависимости от значений, которые вы используете для ближнего и дальнего отсечения, вы можете испытать некоторая неточность в вашем zbuffer, что приведет к тому, что кубические лица в задней части будут кровоточить через те, что расположены впереди у краев. Ознакомьтесь с разделом 12.050 здесь: http://www.opengl.org/archives/resources/faq/technical/depthbuffer.htm –