放大OpenGL的不同方法

时间:2013-01-31 23:53:03

标签: opengl matrix zooming

目前,我正在根据一些用户输入(键盘功能)将相机位置转换为z方向,从而在OpenGL中实现缩放效果。现在我已经看了几个使用缩放的其他示例,并且有一些混淆是否有不同的方法:例如通过使用glm :: perspective更改FOV。改变fov和我的z-translation有什么区别,如果有的话,哪种方式更好?我还不太明白的是什么时候在缩放的上下文中使用glm :: scale,因为我也没有使用它。

2 个答案:

答案 0 :(得分:4)

  

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

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

  

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

他们都没有完全不同的动作。您可以结合Dolly和Zoom来实现Dolly-Zoom Alfred Hitchcock的出名。请访问此站点以获取相机移动列表:

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

答案 1 :(得分:0)

我还通过缩放世界矩阵创建了缩放效果。

即缩放5倍,您可以将此矩阵应用于矩阵堆栈:

  5    0   0   0
  0    5   0   0
  0    0   5   0
  0    0   0   1