有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

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