图形学

216 阅读3分钟

图形渲染管线

1.应用程序阶段 CPU端

可见性判断、控制着色器参数和渲染状态、提交图元至GPU硬件以供渲染。

2.几何阶段 GPU端

大部分多边形操作和顶点操作,将三维空间的数据转换为二维空间的数据,可以分为顶点着色、投影变换、裁剪和屏幕映射阶段。

3.光栅化阶段 GPU端

光栅化阶段是将图元离散化成片段的过程,其任务是找到需要绘制出的所有片段,包括三角形设定(图元装配)和三角形遍历阶段。

4.像素处理阶段 GPU端

像素着色和测试合并

像素处理阶段,给每一个像素正确配色,最后绘制出整幅图像,包括像素着色和合并阶段。

辐射度量学

1.辐射能(Radiant Energy),符号Q,表示光穿过一个平面的光能。

2.辐射通量(Radiant Flux(Power)),符号Φ,表示单位时间内光穿过一个截面的光能。

3.辐射强度(Radiant Intensity),又叫光强度,符号I,表示单位立体角上的辐射通量。

4.辐射率(Radiance),又叫光亮度,符号L,表示单位立体角、单位投影面积上的辐射通量。

5.辐照度(Irradiance ),符号E,表示单位面积上的辐射通量。

基于物理的渲染(Physically Based Rendering,PBR)

镜面反射部分

漫反射部分

全局光照技术

既考虑场景中来自光源的直接光照,又考虑经过场景中其他物体反射后的间接光照的一种渲染技术。

全局光照 = 直接光照(Direct Light) + 间接光照(Indirect Light)

ray tracing

path tracing

抗锯齿处理技术

应用调色技术将图形边缘的“锯齿”缓和,边缘更平滑。

阴影技术

延迟渲染

空间加速结构&算法

蒙特卡罗积分法

重要性采样

俄罗斯轮盘赌

三维数学

变换矩阵的作用和推导

模型矩阵M(Model):将局部坐标变换到世界坐标

观察矩阵V(View):将世界坐标转换为观察坐标,或者说,将物体的世界坐标,转换为在相机视角下的坐标

投影矩阵P(Projection):将顶点坐标从观察空间变换到裁剪空间(clip space) ,后续的透视除法操作会将裁剪空间的坐标转换为标准化设备坐标系中(NDC)

1.欧拉角

定义了绕着三个坐标轴的旋转角,来确定刚体的旋转位置的方式,包括俯仰角pitch,偏航角yaw和滚动角roll;它的优点是比较直观,而且单个维度上的角度也比较容易插值;缺点是它不能进行任意方向的插值,而且会导致万向节死锁的问题,旋转的次序对结果也有影响

2.矩阵

优点是不受万向节死锁的影响,可以独一无二的表达任意旋转,并且可以通过矩阵乘法来对点或矢量进行旋转变换;现在多数CPU以及所有GPU都有内置的硬件加速点积和矩阵乘法;缺点是不太直观,而且需要比较大的存储空间,也不太容易进行插值计算。

3.四元数

四元数的好处是能够串接旋转;能把旋转直接作用于点或者矢量;而且能够进行旋转插值;另外它所占用的存储空间也比矩阵小;四元数可以解决万向节死锁的问题。