2 zzllvlv zzllvlv 于 2017.09.07 20:08 提问

opentk中CreatePerspectiveFieldOfView与lookat的使用 5C

学习资料中有一个项目采用了opentk的gamewindow进行编程。在onresize函数写了:
Matrix4 perpective =
Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, aspect,1,64);
GL.MatrixMode(MatrixMode.Projection);

GL.LoadMatrix(ref perpective);
来设置一个视景体投影矩阵。在之后的onrenderframe()方法中又写了:
Matrix4 lookat = Matrix4.LookAt(0, 0, -7.5f + zoom, 0, 0, 0, 0, 1, 0);
GL.MatrixMode(MatrixMode.Modelview);
GL.LoadMatrix(ref lookat);
第一个矩阵好理解,就是建立投影矩阵,但是第二个矩阵使用lookat创建了一个照相机坐标系的矩阵,再把它设置为模型视图矩阵。这是什么意思?第一个矩阵不就已经包
了视点所在的位置了吗,为什么还要再建立一个视点?

2个回答

devmiao
devmiao   Ds   Rxr 2017.09.07 23:55
zzllvlv
zzllvlv   2017.09.08 15:45

已经解决了,关键在lookat的理解

Csdn user default icon
上传中...
上传图片
插入图片