2013-05-03 49 views
0

可見的基本繪圖有人能向我解釋爲什麼下面的代碼,這是應該創建尺寸的長方體的正面和底牆(LX,LY,LZ):長方體,一面牆通過另一

// front 
    gl.glBegin(GL2.GL_QUADS); 
    gl.glNormal3d(0, 0, 1); 
    gl.glVertex3d(0, ly, lz); 
    gl.glVertex3d(0, 0, lz); 
    gl.glVertex3d(lx, 0, lz); 
    gl.glVertex3d(lx, ly, lz); 
    gl.glEnd(); 
    // bottom 
    gl.glBegin(GL2.GL_QUADS); 
    gl.glNormal3d(0, -1, 0); 
    gl.glVertex3d(0, 0, lz); 
    gl.glVertex3d(0, 0, 0); 
    gl.glVertex3d(lx, 0, 0); 
    gl.glVertex3d(lx, 0, lz); 
    gl.glEnd(); 

呈現這樣的事情:

invalid cuboid

爲什麼是底壁可見通過前壁?我檢查了1000次,頂點按照CCW順序爲。他們是吧?

回答

3

看起來你沒有深度緩衝區或深度測試禁用。另外一個長方體有6個面,而你的代碼只渲染兩個面。

+0

這只是一個測試,所以只有兩個面孔。你是完全正確的,深度測試已被禁用。謝謝! – 2013-05-03 17:59:33