Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl gluPerspective与gluOrtho2D_Opengl - Fatal编程技术网

Opengl gluPerspective与gluOrtho2D

Opengl gluPerspective与gluOrtho2D,opengl,Opengl,我已经看过了MSDN上关于这两个函数的文档。但是,我并不完全理解这两个功能之间的区别,除了一个用于设置3D的摄影机视图,另一个用于设置2D的摄影机视图。如果可以回答,那就太好了。提前感谢您的评论。正交投影基本上是没有透视的3D投影。从本质上说,这意味着一个给定的位置不会离投影中心越近。观点显然是相反的。由于投影后除以w,这意味着w较大的值(在世界范围内,距离投影中心较远的值)将“显示”在距离投影中心较近的位置。正是这种透视投影和w分割给了我们3D图形中的深度感 如果你记得在早期的数学课上画过一个

我已经看过了MSDN上关于这两个函数的文档。但是,我并不完全理解这两个功能之间的区别,除了一个用于设置3D的摄影机视图,另一个用于设置2D的摄影机视图。如果可以回答,那就太好了。提前感谢您的评论。

正交投影基本上是没有透视的3D投影。从本质上说,这意味着一个给定的位置不会离投影中心越近。观点显然是相反的。由于投影后除以w,这意味着w较大的值(在世界范围内,距离投影中心较远的值)将“显示”在距离投影中心较近的位置。正是这种透视投影和w分割给了我们3D图形中的深度感

如果你记得在早期的数学课上画过一个立方体,你会记得,如果你把构成立方体末端的两个正方形都画成相同的大小,那么立方体的后端看起来会更大。这是一个正交投影。它看起来很奇怪,因为我们的眼睛习惯于用透视的眼光看事物

如果你缩小第二个正方形,你就会得到透视图,从而得到透视投影

Wikipedia有一些很好的图片展示了这种差异,也有很好的解释





还有glOrtho,用于在3D中设置正交投影。正交投影常用于3D和2D,尤其是非游戏应用(许多CAD/Modeling/etc程序默认为正交)。