材质
每个模型都自带一个材质,同时模型的渲染实体也可以独立设置材质
材质决定了物体的外观特性,通过type
属性指定材质类型。我们的渲染器支持两种主要的材质模型:Blinn-Phong 和 PBR 。
Blinn-Phong 材质
Blinn-Phong 材质是一种传统的光照模型,用于模拟物体的光泽和反射效果。它在实时渲染中非常流行,计算相对简单,适用于性能要求较高的应用场景。
特点:
- 环境光:模拟环境中的漫反射光。
- 漫反射:模拟光线直接照射到物体表面并被反射的部分。
- 镜面反射:模拟光线照射到光滑表面后反射出的高光部分。
- 镜面高光:通过光照角度和视角来计算高光的强度和范围。
PBR 材质(Physicallly-Based Rendering)
PBR(物理基渲染)材质是一种基于物理原理的材质模型,用于模拟更为真实的光照效果。它考虑了光与物体表面相互作用的物理过程,使得渲染结果更加逼真。
特点:
- 能量守恒:确保光照的能量在反射和吸收过程中保持不变。
- 微表面模型:模拟物体表面的微小不平整,从而影响光的反射和折射。
- 反射率:基于物理测量值,使用反射率来定义不同材质的反光特性。
- 金属度(Metalness):区分金属和非金属材质,金属材质直接反射环境光,非金属材质则有漫反射和镜面反射。
- 粗糙度(Roughness):定义表面的光滑程度,影响镜面反射的模糊程度。
通过使用 PBR 模型,可以获得更为真实和一致的材质表现,使得渲染结果更接近现实世界的物理特性。