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

三线性插值

各向异性过滤

  • 考虑不同的方向性
  • 不只是方形