Perspective Projection
定义透视矩阵的时候,一般用垂直的fidld-of-view(fovY)和aspect ratio。

fov和aspect ratio和l,r,b,t的关系:

Canonical Cube to Screen
在mvp矩阵应用后,将物体投影到了[−1,1]3[-1, 1]^3[−1,1]3,还需要投影到viewPort,则需要ViewPort矩阵
- 与z无关
- 在xy平面上从[−1,1]2变换到[0,width]×[0,height][-1, 1]^2变换到[0, width]×[0, height][−1,1]2变换到[0,width]×[0,height]
- Viewport transform matrix:
(width/200width/20height/20height/200100001)\begin{pmatrix} width/2 & 0 & 0 & width/2 \\ 0 & height/2 & 0 & height/2 \\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}⎝⎜⎜⎛width/20000height/2000010width/2height/201⎠⎟⎟⎞

Triangles - Fundamental Shape Primitives
- 三角形是最简单的多边形,可以组成复杂多边形
- 保证是平面
- 便于定义内部和外部
- 便于插值
如何将三角形数据显示在屏幕上

简单的方式就是Sampling(采样)
- 采样可简单理解为一个函数,输入为需要采样的位置,而输出为采样的值
- 采样三角形可以定义一个函数,判断屏幕上所有点在不在三角形内

- 判断点在不在三角形内可以用叉乘的方法
- 在采样的时候,其实不需要遍历屏幕所有点,因为三角形并没有这么大。可以通过三角形三个顶点的x,y最大最小值得到一个轴向包围盒(axis aligned bounding box 即 AABB)
但如果用这个简单采样函数得出最终结果,会发现有走样(aliasing)问题,因此需要反走样

本文介绍了计算机图形学中透视投影的基本概念,包括如何使用垂直视场角(fovY)和宽高比来定义透视矩阵,并详细解释了从规范立方体到屏幕坐标系的转换过程。此外,还探讨了三角形作为基本形状原语的重要性及其在屏幕上的显示方法。
700

被折叠的 条评论
为什么被折叠?



