我正在使用OpenGL学习计算机图形学。我正在尝试了解投影矩阵。 OpenGL“红皮书”中显示了以下内容:乘2?

#1 楼

由于$ x_ {proj} $从$ 0 \到width $不变,因此从$-\ tfrac {width} {2} \到\ tfrac {width} {2} $不等。

重要的不是宽度,而是$ x_ {proj} $的最小值和最大值。因为$(0,0)$位于视口的中心,而不是角,所以最小值和最大值是宽度的正负一半。


红色的BTW一般而言,本书并不是有关图形的很好的介绍。这是一个技术标准,而不是教程,因此对概念的解释就足够明确了-它并不是要讲授材料。尤其是关于扫描线渲染库,因此有很多根本没有描述的重要概念,例如哪些BRDF很重要,它们与现实世界的表面特性如何相关,什么是图像真实,还有许多最后,即使在该领域,也要解决的问题-如何使用GPU加速渲染-这已经过时了。 GL架构基于20年前的GPU。尽管已经添加了许多功能来适应硬件的变化,但是基本抽象并不是理解当前GPU架构的好方法。

如果您想了解计算机图形学的理论,请开始使用适当的教科书,例如《基于物理的渲染》或《计算机图形学:原理与实践》,或在线课程。如果您想学习如何制作3D应用程序,请从有关您感兴趣的应用程序类型的教程开始(例如,如果是游戏,请尝试Unity教程)。

评论


$ \ begingroup $
哇,这正是我一直在寻找的东西。我开始阅读《线性代数》教科书...但是对于基于物理的渲染,我需要了解哪种数学?
$ \ endgroup $
–mikeglaz
17年6月25日在20:06

$ \ begingroup $
等一下,您的意思是“因为$ x_ {proj} $与$ 0 \ rightarrow width $没有区别”?
$ \ endgroup $
–mikeglaz
17-6-25在20:42



$ \ begingroup $
对于openGL,需要将其投影到规范化的设备坐标(-1到1),因此它的缩放范围是-Width / 2到Width / 2
$ \ endgroup $
–PaulHK
17年6月26日在2:19

$ \ begingroup $
您应该问有关PBR的另一个问题,但这是一个很好的资源:learnopengl.com /#!PBR / Theory
$ \ endgroup $
–艾伦·沃尔夫(Alan Wolfe)
17年6月26日在17:56

$ \ begingroup $
@mikeglaz我做到了,谢谢。我想说的是,如果您知道一些本科线性代数和高中光学,那就很好。您尚不了解的任何详细信息,通过阅读相应的Wikipedia页面,您将有基础的了解。
$ \ endgroup $
–丹·赫尔姆
17年6月26日在19:22