前言
要学习shader渲染,就肯定有两个绕不开的东西,PBR和RAY TRACING,这两个都是现在渲染中非常非常重要的东西,对于画面提升以及流程简化都很有帮助,而谈到PBR那就必须在提一下BDRF,可以说搞懂BDRF,那PBR就不远了,当然我还没怎么搞懂,所以也不保证搞懂BDRF就一定轻松PBR,本篇内容基本借鉴腾讯学院的一篇文章,讲的很浅显易懂,这里把链接附上:https://zhuanlan.zhihu.com/p/353203329,如果看完本文章有不理解的地方强烈建议看下原文,当然直接看原文也挺好的emmmmmmm
BDRF公式
BDRF即双向反射分布函数(Bidirectional Reflection Distribution Function),这个公式并不是唯一的,可以有一群只要合理且看着还不错,毕竟图形学有一句话就是:只要看起来是对的,它就是对的。原话我忘了,反正经常看到这句话,这个公式的作用就是给一个入射角度和一个观察角度,它能给出一个决定最终射向观察角度的光的强度的系数。
接下来先看一下Bliin-Phong:
这是在unity shader中的实现,稍微简化一下就是:
公式中没有加上环境光,不过在计算机图形学基础这本书中是加