BACK TO ARCHIVE
Maya Lookdev DCC Mechanics & Nuances

VRay PBR Shader

10.24.2015 ADUCG RESEARCH

参考资料:

Marmoset PBR Theory

http://www.marmoset.co/toolbag/learn/pbr-practice/

Sebastien Lagarde Blog

https://seblagarde.wordpress.com/tag/physically-based-rendering/

我用 VRayMtl 做为基础 shader 制作了一个 physically based shader。VRayMtl 上有多个关于 diffuse,reflection 的属性,如果熟练的话用起来并不难, 但是属性多,每个属性再连接各种贴图,效率会低许多。并且这些属性组合后未必“物理”。现在许多渲染器都在简化 shader 里的属性,方便艺术家去使用,制作更为高效,而不是花大量时间精力去学习它们。

我这里将 VRayMtl 原有的 diffuse,reflection 两列属性简化为:diffuse,gloss,metalness,specular 四个属性。对于控制塑料,金属及粗糙表面的材质更为高效简结,同时它也是基于“physically based Rendering”的。

目前它只能实现 diffuse,reflection 的模拟,并且 IOR 曲线是固定的,如果追求“物理”,需要重新创建 fresnel 曲线。diffuse,gloss,metalness,specular 四个属性已经设置好了伽马修正,保证 LWF 正确性。VRayMtl 反射使用的 GGX,这是 Vray3.1 新加入的。

这里的 fresnel 曲线是固定的,只是模拟大部分的情况。具体材质可以网上查阅下该材料的 fresnel 曲线,自己重新加入(其实不同材料的 R,G,B 三个光谱的曲线是各不相同的,目前还都没有考虑进去)。

Metalness

Specular

Gloss

本文采用 Creative Commons BY-NC-ND 4.0 协议进行授权。

BY-NC-ND: 署名-非商业性使用-禁止演绎

End of Article