目前,我通过根据一些用户输入(键盘功能)将相机位置转换为 z 方向来实现 OpenGL 中的缩放效果。现在,我查看了其他几个使用缩放的示例,并且有点困惑是否有不同的方法来执行此操作:例如,通过使用 glm::perspective 更改 FOV。更改 The fov 和我的 z 平移之间是否有区别,如果是,哪种方式更好?我也不太明白什么时候在缩放的上下文中使用 glm::scale ,因为我也没有使用它。
问问题
2968 次
2 回答
5
我通过将相机位置转换为 z 方向在 OpenGL 中实现缩放效果
那不是Zoom,那是Dolly。缩放是视场的变化,即投影参数的变化。
如果是这样,哪种方式更好?
两者都不是,它们是完全不同的运动。您可以结合 Dolly 和 Zoom 来实现 Dolly-Zoom Alfred Hitchcock 的著名。请参阅此站点以获取相机移动列表:
于 2013-01-31T23:59:00.283 回答
0
我还通过缩放世界矩阵创建了缩放效果。
即缩放 5 倍,您可以将此矩阵应用于矩阵堆栈:
5 0 0 0
0 5 0 0
0 0 5 0
0 0 0 1
于 2013-02-04T22:14:56.800 回答