1

目前,我通过根据一些用户输入(键盘功能)将相机位置转换为 z 方向来实现 OpenGL 中的缩放效果。现在,我查看了其他几个使用缩放的示例,并且有点困惑是否有不同的方法来执行此操作:例如,通过使用 glm::perspective 更改 FOV。更改 The fov 和我的 z 平移之间是否有区别,如果是,哪种方式更好?我也不太明白什么时候在缩放的上下文中使用 glm::scale ,因为我也没有使用它。

4

2 回答 2

5

我通过将相机位置转换为 z 方向在 OpenGL 中实现缩放效果

那不是Zoom,那是Dolly。缩放是视场的变化,即投影参数的变化。

如果是这样,哪种方式更好?

两者都不是,它们是完全不同的运动。您可以结合 Dolly 和 Zoom 来实现 Dolly-Zoom Alfred Hitchcock 的著名。请参阅此站点以获取相机移动列表:

http://www.mediacollege.com/video/shots/movement.html

于 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 回答