Shading着色 | 图形学 | OpenGL
👨🎨2024 NUS_SOC Graphics Rendering (self-learning with games101😙)
不同Shading
- 应用在平面上 —— Flat Shading
- 应用在顶点上 —— Gouraud Shading
- 应用在像素上 —— Phong Shading
- 半角向量代替反射向量 —— Blinn-Phong Shading
重心坐标
三角形内部插值
- 为了根据三角形顶点平滑过渡
在三维空间做插值,再投影到二维
纹理放大
Texture Magnification
纹理过小
- A pixel on a texture —— a texel (纹理元素)
在一个很高分辨率的屏幕上铺很低分辨率的texture,相当于一些接近的pixel映射到同样的texel,于是会出现放大模糊的感觉
双重线性插值
考虑周围的texel,平滑过渡的颜色
纹理走样
纹理过大
- 屏幕的一个pixel覆盖的纹理过大
- 信号变化过快,采样速度跟不上
- 所以不采样,先设计好mipmap
Mipmap
范围查询 range queries
提前计算,提前生成
只能做近似的正方形的范围查询
根据等比数列计算,存储量只比原本多了三分之一
把屏幕上的一个pixel近似成一个正方形
如何查询?
根据映射的texture大小尺寸查询mipmap,求出在第几个level
三线性插值
各向异性过滤
- 考虑不同的方向性
- 不只是方形