长方体的基本绘图,一个墙可见另一个

时间:2013-05-03 17:48:26

标签: opengl

有人可以向我解释为什么以下代码,它应该创建一个尺寸长方体(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顺序。他们是,对吗?...

1 个答案:

答案 0 :(得分:3)

看起来您没有禁​​用深度缓冲或深度测试。一个长方体有6个面,而你的代码只有两个。