0

のセットに従って3D形状を描画するプログラムがありGL.GL_VERTEX_ARRAY、最終的に 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);
}

出力を正しくスケーリングするにはどうすればよいですか?

編集:

beforeを追加して修正gl.glLoadIdentity()

4

1 に答える 1

1

コードの残りの部分が何をするかはまったく不明ですが、示されているフラグメントだけから、マトリックスをリセットしたことがなく、スケーリングが数フレームにわたって蓄積されていると疑われる可能性があります。

于 2013-08-11T21:19:20.370 に答える