我对 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 方法的方法..