仅作个人笔记记录
Lecture 03 Transformation
简单线性变换
\[ \begin{bmatrix} x^{\prime} \\ y^{\prime} \end{bmatrix}= \begin{bmatrix} s_x & 0 \\ 0 & s_y \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} \]
齐次坐标
你真的见过射影变换吗?【MaExpo】_哔哩哔哩_bilibili
【射影几何】挪动数轴上的无穷远点(二)_哔哩哔哩_bilibili
【射影几何】二维坐标需要三个参数?齐次坐标的引入(四)_哔哩哔哩_bilibili
等距变换-->相似变换-->仿射变换-->射影变换
\[ \begin{aligned} &s &缩放矩阵\\ &R &旋转矩阵\\ &t &平移矩阵\\ &K &仿射矩阵(非均匀缩放)\\ \end{aligned} \]
可以看出,对于仿射变换,理想点变换后还是理想点;对于射影变换,理想点被映射到有限点。说明射影变换能对消影点建模。
Lecture 04 Transformation Cont.
模型变换
把模型缩放、旋转、平移到世界坐标系某个位置
视图变化
就是把世界坐标系变换为屏幕空间坐标系,应用了正交矩阵的逆是转置的特性
投影
正交投影 vs 透视投影
\[ M_{p \rightarrow o} = \begin{bmatrix} n & 0 & 0 & 0\\ 0 & n & 0 & 0\\ 0 & 0 & n+f & -nf\\ 0 & 0 & 1 & 0 \end{bmatrix} \]
Lecture 05/06 Rasterization
需要一些傅里叶变换的前置知识
时域卷积=频域相乘,频域相乘=时域卷积 个人理解:走样是能从被采样(在频域被卷积以后的函数中恢复出原来的频率信息)
Antialiasing 反走样
Multi-Sample Anti-Aliasing (MSAA)
一个格子多次取几个采样点(相当于做卷积低通滤波)
Fast Approximate AA (FXAA)
快速近似抗锯齿,是对采样后的图像单独处理边缘
Temporal AA (TAA)
可以简单理解为每一帧采样不同的点,做平均
Deep Learning Super Sampling (DLSS)
深度学习超分
Z-Buffering 深度缓存
简单遍历三角形维护最前的那个,复杂度\(O(N)\)
Lecture 06/07/08 Shading
Shading
Blinn-Phong 模型
Diffuse 漫反射
Specular 高光
Ambient 环境光
几种着色方式
Flat shading
逐三角形着色
Gouraud shading
逐顶点着色
Phong shading
逐像素着色
Pipeline 实时渲染管线
Texture Mapping
纹理=定义任何一个点的某种属性 坐标系=uv坐标系 Tiling 四方连续贴图
重心坐标
贴图采样
双线性插值 Bilinear
双三次插值 Bicubic
效果更好,复杂度更高
Mipmap
三分之一的额外空间开销
Mipmap Level
三线性插值
很简单粗暴的插值了三次
各向异性过滤
映射有时候会变成长条!三线性插值对这种长条效果并不好,怎么办呢