UE4中实时渲染RTR中前向渲染与延迟渲染的选择

本文探讨了3D游戏引擎中的两种主要渲染技术:前向渲染和延迟渲染。前向渲染擅长灯光和材质计算,适合半透明表面,而延迟渲染则在动态光照和稳定效果上表现优异。文章建议根据项目需求混合使用,以达到最佳效果。

目前多数游戏引擎(包括UE4)在3D实时渲染方面使用两种渲染方式,即Forward Rendering(前向渲染)Deferred Rendering(延迟渲染),其特点概括如下:

 

Forward Rendering

1.着色、几何体、材质在同一环节计算
2.擅长灯光、材质计算,信息更多,有更多自由度,但不擅长混合各种不同功能,适合比较简单的应用程序
3.擅长渲染半透明表面
4.渲染简单应用时较快
5.动态光照对于性能有很大影响,不绝对,现在也在进步
6.可以使用多重采样抗锯齿(MSAA),更好的抗锯齿效果
 

Deferred Rendering

1.着色发生在延迟环节中
2.使用GBuffer缓存进行合成
3.擅长渲染动态光照
4.擅长提供稳定、可预测的高质量效果
5.涉及禁用功能时更加灵活,涉及到表面属性不灵活,设计开启、关闭功能时更灵活
6.多重采样抗锯齿(MSAA)不能用,依赖临时抗锯齿(TAA)
 
在实际项目中,要综合考虑多方面因素,首先便要根据目标平台确定目标帧数。在此基础上,制定严格的流程标准和限制,确保各环节保持高效。
当然不同渲染方式各有长短,项目中应考虑实际情景混合使用各种方案,兼顾效率与效果。同时可将部分工作量分配到预计算环节,减少硬件在实时渲染过程中在某一部分的压力。
 

个人经验

对于项目中所应使用的技术方案,在项目开始之前就应当预想到项目中可能会涉及到的问题(如硬件情况、目标效果、灯光使用情况等),并提前做出正确的选择。不可轻易朝令夕改,增加流程负担。
同时,更不可将思维固化。虽然工作中要严格遵守流程标准,但这并不意味着思想要受到框架的约束。每种技术都有其独到之处项目中虽然,项目中未用到的并不意味着无用。
开拓思路,或许便能在略偏门的技术基础上,实现跨时代的技术变革。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值