有人可以向我解释为什么以下代码,它应该创建一个尺寸长方体(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();
呈现类似这样的内容:
为什么通过前墙可以看到底壁?我已经检查了1000次,并且顶点是的CCW顺序。他们是,对吗?...
答案 0 :(得分:3)
看起来您没有禁用深度缓冲或深度测试。一个长方体有6个面,而你的代码只有两个。