java gl。glScalef()隐藏gl。glDrawArrays()绘图
我有一个程序,它根据GL.GL_VERTEX_ARRAY
的集合绘制一个3D形状,最后在display()
方法中绘制-
public void display(GLAutoDrawable drawable) {
gl.glDrawArrays(GL.GL_QUADS, 0, 24);
}
到目前为止,它工作正常,我在输出上得到了所需的形状,但是如果我在gl.glDrawArrays()
之前添加gl.glScalef(20, 20, 40);
,形状停止显示,我得到了空白输出-
public void display(GLAutoDrawable drawable) {
gl.glScalef(20, 20, 40);
gl.glDrawArrays(GL.GL_QUADS, 0, 24);
}
如何正确缩放输出
编辑:
通过在前面添加gl.glLoadIdentity()
进行修复
# 1 楼答案
我们完全不清楚代码的其余部分将做什么,但仅从所显示的片段来看,我们可能会怀疑您从未重置矩阵,并且缩放会在几个帧的过程中累积