我有一个init()
方法,我试图创建一个Perspective
呈现。下面是我到目前为止的代码,但我传递给gluPerspective(fovy, aspect, zNear, zFar)
的数字是错误的。我认为fovy
是视场(60度),而aspect
是纵横比(宽/高),但我不知道zNear
和zFar
是什么。如何在jogl中使用gluPerspective()?
public void init(GLAutoDrawable gld) {
//We will use the default ViewPort
GL gl = gld.getGL();
glu = new GLU();
gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glu.gluLookAt(
25, 15, 0, // eye
25, 15, 30, // at
0, 1, 0 // up
);
// Set up camera for Orthographic projection:
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
glu.gluPerspective(60, 500/300, 0.0, 60.0);
gl.glMatrixMode(GL.GL_MODELVIEW);
gl.glLoadIdentity();
}
您是否阅读过手册页? http://www.opengl.org/sdk/docs/man/xhtml/gluPerspective.xml。此外,你正在做方面的整数除法,你需要做浮动部分,否则它会围绕500/300到1.(500.f/300.f) – Tim 2012-03-15 17:35:26