OpenGL中不同的缩放方式

OpenGL中不同的缩放方式,opengl,matrix,zooming,Opengl,Matrix,Zooming,目前,我正在OpenGL中通过基于一些用户输入(键盘功能)将相机位置转换为z方向来实现缩放效果。现在我看了其他几个使用缩放的例子,有点搞不清楚是否有不同的方法可以做到这一点:例如使用glm::perspective更改FOV。改变视野和我的z平移之间有区别吗?如果有,哪种方式更好?我也不太明白什么时候在缩放的上下文中使用glm::scale,因为我也没有使用它 我在OpenGL中通过将相机位置转换为z方向来实现缩放效果 那不是Zoom,那是Dolly。缩放是视野的变化,即投影参数的变化 如果是这

目前,我正在OpenGL中通过基于一些用户输入(键盘功能)将相机位置转换为z方向来实现缩放效果。现在我看了其他几个使用缩放的例子,有点搞不清楚是否有不同的方法可以做到这一点:例如使用glm::perspective更改FOV。改变视野和我的z平移之间有区别吗?如果有,哪种方式更好?我也不太明白什么时候在缩放的上下文中使用glm::scale,因为我也没有使用它

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

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

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

两者都不是,它们是完全不同的动作。你可以将多莉和变焦结合起来,实现阿尔弗雷德·希区柯克著名的多莉变焦。有关摄像机移动的列表,请参见本网站:

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

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

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

两者都不是,它们是完全不同的动作。你可以将多莉和变焦结合起来,实现阿尔弗雷德·希区柯克著名的多莉变焦。有关摄像机移动的列表,请参见本网站:


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

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

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

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

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

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