Games101-现代计算机图形学入门-Shading
Shading
Blinn-Phong Reflectance Model
- Lambertian(Diffuse) Term
- Specular Term
- Ambient Term
Shading Frequencies
Shade each triangle (flat shading)
Shade each vertex (Gouraud shading)
每个顶点法线向量是其周边相邻三角形法线向量的平均
Shade each pixel (phone shading)
每个像素法向量:Barycentric interpolation(重心坐标插值)
Graphics Pipeline
- Vertex Processing: Model, View, Projection
- Fragment Processing: FrameBuffer, Z-Buffer
Interpolation Across Triangles
Textures
Simple Texture Mapping
(x,y) in Screen = (u,v) in Texture
Texture太小
多个(x,y)映射一个(u,v)
Texture太大
一个(x,y)映射多个(u,v)
Bilinear Interpolation
Texture太小,多个(x,y)映射一个(u,v)
对贴图上的像素点(u,v)做双线性插值
Supersampling
Texture太大,对(x,y)超采样
Mipmap
Texture太大,对Texture的某片区域即一个(x,y)对应的多个(u,v)求均值。
通过mipmap提前存取均值
Trilinear Interpolation
前述Bilinear加上两层之间的Bilinear形成三重线性插值
但会出现模糊过度情况
原因是某些点对应的贴图不一定是正方形
Anisotropic Filtering
其他纹理贴图
环境光贴图
假设光源无限远,只记录光照的方向信息,这种贴图被称作环境光贴图
Spherical Map | Cube Map |
---|---|
法线贴图
修改法线
位移贴图
修改位移