更新于 

待整理杂项

Shading 着色

最常见的着色算法

Flat shading 平面着色

根据每个三角形法线计算着色效果

Gouraud shading 逐顶点着色

针对每个顶点计算颜色,再进行线性插值得到片元颜色

Lambert Shading 光照着色

与Gouraud shading非常相似的模型,
同样使用逐顶点计算光照,再进行片元差值的方法

Phong shading 逐片元着色

针对三角形每个片元进行着色计算

PBR Shading 物理渲染

Physically Based Rendering

threejs中的Shading算法

threejs中不同的材质使用的光照模型可能有所不同:

  • MeshPhongMaterial使用的是Phong Shading
    • 可以通过开启flatShading属性,使用平面渲染
  • MeshStandardMaterial
    • 使用PBR模型(Cook-Torrance反射模型)
      • Physically Based Rendering 基于物理渲染
      • 更真实模拟现实中光照和材质的相互作用
      • 考虑了光的漫反射、镜面反射、金属度等物理属性
  • MeshLambertMaterial 使用的是 Lambert Shading
几种材质的比较
几种材质的比较