目前,我正在根据一些用户输入(键盘功能)将相机位置转换为z方向,从而在OpenGL中实现缩放效果。现在我已经看了几个使用缩放的其他示例,并且有一些混淆是否有不同的方法:例如通过使用glm :: perspective更改FOV。改变fov和我的z-translation有什么区别,如果有的话,哪种方式更好?我还不太明白的是什么时候在缩放的上下文中使用glm :: scale,因为我也没有使用它。
答案 0 :(得分:4)
我通过将相机位置转换为z方向来实现OpenGL中的缩放效果
那不是Zoom,那是多莉。缩放是视场的变化,即投影参数的变化。
如果是这样,哪种方式更好?
他们都没有完全不同的动作。您可以结合Dolly和Zoom来实现Dolly-Zoom Alfred Hitchcock的出名。请访问此站点以获取相机移动列表:
答案 1 :(得分:0)
我还通过缩放世界矩阵创建了缩放效果。
即缩放5倍,您可以将此矩阵应用于矩阵堆栈:
5 0 0 0
0 5 0 0
0 0 5 0
0 0 0 1