Java gl.glScalef()隐藏gl.glDrawArrays()图形
我有一个程序,它根据一组Java gl.glScalef()隐藏gl.glDrawArrays()图形,java,opengl,jogl,Java,Opengl,Jogl,我有一个程序,它根据一组GL.GL\u VERTEX\u数组绘制一个3D形状,最后在display()方法中绘制- public void display(GLAutoDrawable drawable) { gl.glDrawArrays(GL.GL_QUADS, 0, 24); } 到目前为止,它工作正常,我在输出上得到了所需的形状,但是如果我添加gl.glScalef(20,20,40)在gl.glDrawArrays()之前,图形停止显示,我得到空白输出- public voi
GL.GL\u VERTEX\u数组
绘制一个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()
进行修复 完全不清楚代码的其余部分将做什么,但仅从显示的片段来看,人们可能会怀疑您从未重置矩阵,并且缩放会在几个帧的过程中累积。结果证明您是对的,我只是在缩放之前添加了gl.glLoadIdentity()
,然后就成功了!