GLU.gLookAt(eyeX、eyeY、eyeZ、Xpos、Ypos、Zpos、upX、upY、upZ)メソッドでの使用について非常に混乱しています。私が欲しいのは、3D立方体をズームすることだけです。eyeZの値を増減すると、カメラが立方体に向かって前後に移動します。eyeZの特定の制限まではすべて問題ありませんが、eyeZの値をその制限を超えて増やすと、エフェクトが元に戻り始めます。つまり、ズームインする代わりにズームアウトが開始されます。
私はopenGLで上記の方法を理解するのは得意ではないかもしれませんが、この背後にある基本的な理由を誰かに教えてもらえますか。このリンクを参照しました http://jerome.jouvie.free.fr/opengl-tutorials/Tutorial8.php
必要に応じて、ここにコードを投稿できます。
public void onDrawFrame(GL10 gl)
{
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
//gl.glTranslatef(xPos, yPos, -zoomFactor);
GLU.gluLookAt(gl, eyeX, eyeZ, eyeZ, 0f, 0f, 0f , 0f, 1f, 0f);
gl.glRotatef(mAngleX, 0, 1, 0);
gl.glRotatef(mAngleY, -1, 0, 0);
// Draw the model
cube.draw(gl);
}
これは私がgLookAtメソッドを使用しているメソッドです。