我试图在JOGL(和Eclipse)中渲染一些简单的实体形状,然后通过'layer'逐步执行'layer';但是当我添加glClear方法时,我得到的只是线框,而不是填充的形状!?如果我评论该行(如下所示)显示实心形状但“填充”到最大的形状将是,然后不再缩小。例如,有一个球体,前半部分很好但后半部分是实心圆柱体,如果这是有道理的。
public void render(GLAutoDrawable gLDrawable)
{
GL2 gl = gLDrawable.getGL().getGL2();
**//gl.glClear(GL2.GL_COLOR_BUFFER_BIT | GL2.GL_DEPTH_BUFFER_BIT);**
gl.glColor3b((byte) 0, (byte) 127, (byte) 0);
gl.glLoadIdentity();
gl.glTranslatef(500, 350, -300);
glut.glutSolidSphere(300.0, 20, 16);
gl.glTranslatef(-500, -350, 300);
gl.glEnd();
gl.glFlush();
}
任何帮助都会非常感激,如果需要,可以发布更多代码。
由于 添
已编辑更有意义
答案 0 :(得分:0)
在创建球体之前插入它...它将告诉Opengl填充下一个绘制的多边形......
gl.glPolygonMode(gl.GL_FRONT_AND_BACK, gl.GL_FILL);
如果您想再次使用线框,请致电:
gl.glPolygonMode(gl.GL_FRONT_AND_BACK, gl.GL_LINE);
:)