战士
乱兵刹神 发表于 2019-5-14 10:27 好厉害的讲解。。看来龙引擎真的是半吊子 需要改良的地方太多。。 另外我感觉见参的人物面部高光更严重 ...
举报
弑神者
旁门左道驱良币 城狐社鼠扭于前 不舞之鹤闭塞听积羽沉舟只等闲
shtoi 发表于 2019-5-14 16:03 见参是解释起来最麻烦的,翻了很多资料之后得出一些结论。 官方说见参使用的是顶点光照,然后说了由于顶 ...
骑士
平民
shtoi 发表于 2019-5-14 16:04 另外找到了关于顶点光照的另外一个描述: 逐顶点光照的计算量往往要小于逐像素光照 .
dsaaa 发表于 2019-5-14 18:27 估计还是0的光源弄的有点多,迪斯科舞厅里有时也掉点。现在想想,模拟***十年代还是挺费事的。 ...
说到光源数量,这个就要提一下了。 当时PS3时期的时候,最基础的渲染模式可以粗略分为两种,前向渲染和延迟渲染。 前向渲染顾名思义,每帧首先绘制每一个多边形物体,其中每遇到一个光源,就要重新计算一遍被光源照亮的物体,因此光源越多,开销越大,即使光源照在了摄像机看不见的地方也依旧会产生开销。 延迟渲染则是先完全将场景渲染完成,然后在此基础之上重新加入光照信息,延迟渲染本身并不会造成游戏的延迟,只是推后了计算光照的时间,由于光照是一次性完成的,所以无论多少个光源都能一口气搞定,开销换算的话1000个点光源的开销与向前渲染3个平行光源的开销比较接近。 如龙见参到如龙5均使用向前渲染,而如龙维新到如龙极均使用延迟渲染。 但是延迟渲染并非完美无瑕,首当其冲的就是和硬件抗锯齿无法兼容,那一段时间很***C游戏也去掉了诸如MSAA之类的抗锯齿效果,开始研究诸如FXAA和SMAA之类的后处理抗锯齿方案,主要造成这种结果的原因是由于多边形和光照被分开计算,最后图像完成合并的时候已经只是一张图片了,所以只能再对这张图片进行处理,所以如龙维新开始取消掉如龙4加入的2xMSAA,取而代之的则为PS4版本添加了FXAA。 另外延迟渲染无法处理半透明物体,游戏中的半透明物体只能通过特殊处理的方式最后加入,半透明物体不包含深度信息,所以会与景深模糊之类的效果产生冲突(例如FF15著名的眼镜事件,以及很多游戏毛发边缘会与模糊特效形成锯齿边缘),而且还有半透明物体与TAA(时间抗锯齿)叠加形成奇妙的bug的情况(在幽灵行动荒野中遇到过),因此也有的游戏采用了Forward+的方案,来解决类似的问题(例如GT赛车这种需要对车辆玻璃进行优先处理的情况),但是Forward+仅支持DX11和更高版本的硬件,PS3是无法使用了。
dsaaa 发表于 2019-5-15 06:00 应该还是延迟处理有发展空间,毕竟一个一个算太慢了,而且消耗资源,并行处理才有发展空间。 ...
Forward+算是处理好了两边,硬件抗锯齿和透明物体重新回归,但必要的就是dx11,前向渲染在老设备比如低端手机还有使用空间,毕竟延迟渲染对带宽的开销是最大的。 在前向渲染里一般的解决方法是烘焙光源,所以在差不多10年左右以前的游戏,光照和阴影都不会动,再给会动的角色单独打光照和渲染阴影,所以在老如龙里面经常会有看着很黑的角落,主角走进去自己的亮度还是挺高的这种不统一的情况。 另外就是现阶段行业从光源数量的需求转变为对真实光源的需求,上千个点光源也基本只能在鲁大师跑分这种里见到了,现在行业里做法多数是计算光照反弹、漫反射、环境光照、间接阴影,一般统称为全局光照,光照计算更加复杂,一个小区域可能就要前后接收几十个或上百个光照的影响,虽然光源数量除非是移动端大概是不会回归前向渲染那么稀少,同时结构也变得更加复杂,所以目前比较主流的游戏例如COD13就使用了Forward+,以及辐射度烘焙的全局光照信息。
本版积分规则 发表回复 回帖后跳转到最后一页
Archiver|手机版|A9VG电玩部落 蜀ICP备2021021932号-2 川公网安备 51019002005286号
GMT+8, 2025-2-7 18:50 , Processed in 0.193424 second(s), 13 queries , Redis On.
Powered by Discuz! X3.4
Copyright © 2001-2020, Tencent Cloud.
下载 A9VG 客户端(iOS, Android)