Rhea:基于物理的渲染让EVE看起来更真实

原文连接:http://community.eveonline.com/n … king-eve-look-real/
作者:CCP Mankiller 譯者 : Bevis熊熊 @ ECF


所有CGI程序员都有一个基本问题,那就是:“如何定义屏幕上的像素颜色呢?”更准确的回答这个问题,那么最终的成像质量也就越高。精准回答这个难题的必备工具当然也就是基于真实世界的物理和数学。然而,找到一个准确的公式来描述我们的真实世界是不可能的,至少是基于我们目前的自然学识。


那我们在CGI里怎么办呢?当然是简化!而且必须这么做,因为在电脑游戏中,图像的计算必须实时的渲染给狂热的玩家用来拼命的放烟花。在这样的环境中,我们也必须简化效率的同时保持数学上的精度。




旧的答案
在过去,我们决定像素颜色使用一个名为“反射着色模型”的公式,它是如此受欢迎并且内置到了第一代3D加速卡中,它是在硬线预渲染中实现的固定函数流程,来看看为什么吧:




这个模型在1973年起有着良好的效果,无数的游戏和电影因此诞生,其中包括《EVE Online》。





自创建以来,许多修正在这个着色模型中。特别是引用GPU着色语言来替代固定的函数,程序员更自由的控制屏幕上的每个像素。尽管对于法线贴图、高光强度贴图、盒状反射等等有修正,但依靠的还是几十年前的老模式。

[/img]




新的答案

虽然非常流行,但反射着色已经凸显疲惫,其中最明显的难题就是没有能量衰减,但这是一个物理学的基本原则。这意味着在某些光照环境下,所得到的像素结果要比设定的值高很多,这样我们就没办法来展示真实的资源。


随后我们需要一个更好的公式来决定像素颜色。它涵盖能量衰减并且有着更好的着色反射模型,在GPU周期上有着更好的结果和性能。


事实上,我们可以替代单个公式为不同的合集,都使用相同数据(材质属性),但有着不同级别的精度/简化。所以我们可以做出选择,这个新的渲染合集模型被称作“基于物理的渲染”或为PBR。


在新伊甸的实施中,选择了施利克的菲涅耳系数,一个分散模型来自乔布瑞奇和赖茨(也称为GGX),还有基于施利克-史密斯的视觉函数。总而言之,这一切就像是PBR鸡尾酒一样,混合的无机对象。为了展示给你我们新的复杂运算的想法,这里是一个关于高光的公式:






这里是一些结果图像(新的PBR舰船是靠近摄像机的那一艘):





新的问题


经过调整的数学公式来更好的模拟光照和材质效果来接近真实世界,我们就这么插入这些方程进入EVE一切都看起来很完美不是吗?


答案是否定的


PBR展示了我们的资源状态更接近之前展示的模型,我们曾依靠物理上的不准确数字来避免某些显示问题,但现在我们直接解决这些问题,很多资源我们只能额外进行完善。


我们还在找改进的地方,并找到最佳的解决办法。在某些情况下,我们会重新烘培法线贴图,而在某些情况下只需要调整几个数值,更极端的情况下,我们必须重新制作。随着PBR在EVE中的部署,我们希望所有在新伊甸的蛋人们可以享受这些持续发展的图像效果。


此外,新的系统还可以提高我们的着色器性能,比如引入新的材质,增加动态磨损级别(比如飞船的年限?),或者是增加普通舰船的环境光遮蔽效果,当然舰船自定义不能忘记。通过更好的确定像素颜色,我们增加了新的选项用来实现未来的特性,来更好的传达EVE的视觉效果。


这就是PBR的真正好处,也是我们努力在Rhea发布的原因。