gl.glScalef()隐藏gl.glDrawArrays()图形

时间:2013-08-11 18:05:48

标签: java opengl jogl

我有一个程序根据GL.GL_VERTEX_ARRAY的集合绘制3D形状,最后在display()方法中绘制 -

public void display(GLAutoDrawable drawable) {
    gl.glDrawArrays(GL.GL_QUADS, 0, 24);
}

到目前为止它工作正常并且我在输出上得到了所需的形状,但是如果我在gl.glScalef(20, 20, 40);之前添加gl.glDrawArrays()形状停止出现并且我得到空白输出 -

public void display(GLAutoDrawable drawable) {
    gl.glScalef(20, 20, 40);
    gl.glDrawArrays(GL.GL_QUADS, 0, 24);
}

如何正确缩放输出?

修改

通过之前添加gl.glLoadIdentity()来修复。

1 个答案:

答案 0 :(得分:1)

完全不清楚代码的其余部分会做什么,但仅从显示的片段中,人们可能怀疑你从未重置矩阵,并且缩放在几帧的过程中累积。