在JOGL中调用GLClear时,Glut Solid Shape呈现为Wire

时间:2011-03-23 21:37:22

标签: glut jogl

我试图在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();
}

任何帮助都会非常感激,如果需要,可以发布更多代码。

由于 添

已编辑更有意义

1 个答案:

答案 0 :(得分:0)

在创建球体之前插入它...它将告诉Opengl填充下一个绘制的多边形......

gl.glPolygonMode(gl.GL_FRONT_AND_BACK, gl.GL_FILL);

如果您想再次使用线框,请致电:

gl.glPolygonMode(gl.GL_FRONT_AND_BACK, gl.GL_LINE);

:)