待整理杂项
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 基于物理渲染
- 更真实模拟现实中光照和材质的相互作用
- 考虑了光的漫反射、镜面反射、金属度等物理属性
- 使用PBR模型(Cook-Torrance反射模型)
- MeshLambertMaterial 使用的是 Lambert Shading