该示例展示基础的PBR渲染过程,重点在PS_PBR_Base_Point_Lights.hlsl文件中。基于物理的渲染(PBR)是现代渲染的主流技术,与传统光照纯几何式的光照渲染方式已经大相径庭,本系列示例即直接跳过传统光照,直接进入现代化的PBR渲染的学习与展示。本例中用了8个点光源,照明了一个球体,使用了PBR中比较流行的“金属工作流”渲染模型,即主要材质参数是金属度、粗糙度、反射率等,其中反射率模拟了8种金属,可以使用Tab键切换反射率,用A、Q键对-控制金属度、W、E键对-控制粗糙度、E、D键对-控制环境遮挡系数。由于使用的是点光源,这个示例在纯金属最低粗糙度时,仅有高光点,这其实是不对的。例子的真实目的是给大家展示基本的PBR光照方程变成代码的样子。最终需要注意的是,学习D3D12接口编程的终极目的是掌握现代渲染算法和技术,因此后续的例子都希望大家对前面各个例子中的一些D3D12基本操作都有了牢固的掌握,或者说D3D12本身不应再成为大家学习的障碍,而是一个有力的工具!如果前序例子还有疑问或者我可能没有交代清楚的细节,大家都可以随时到本人博客:[Gamebaby Rock Sun的博客](https://blog.csdn.net/u014038143?spm=1000.2115.3001.5343) 留言提问。本示例运行效果截图如下(一个略显粗糙的金色金属球,可以通过按键调整至此效果):