Unity PBR Shader练习

MrWen332021年4月22日
小于 1 分钟

使用Unity Urp练习手写PBR. 实现了单平行光光源与环境光照明, 不支持多光源与shadowmap 实现参考了LearnOpengl的PBR章节

要点

  • 直接光

    • 漫反射: 使用Lambert模型
    • 镜面反射: 使用Cook-Torrance模型
  • 间接光(环境光)

    • 漫反射: 使用Unity提供的SH光照, Lambert模型
    • 镜面反射
      • Split Sum法: 使用mipmap后的环境贴图与BRDF积分贴图
  • 注意Schlick-GGX(几何遮蔽函数)中参数k的值在直接光照与IBL光照下不同

  • metallic(金属度)是用于调整漫反射强度与计算金属F0值的参数, 但原始BRDF方程并不包含metallic这个参数

效果图

balls

项目链接

PBRExerciseopen in new window

相关链接