虚幻4渲染编程(重写渲染管线篇)【第三卷:在虚幻中搭建渲染器】

我的专栏目录:

小IVan:专题概述及目录​zhuanlan.zhihu.com图标

有了第一卷的铺垫之后,我们就可以开始写渲染器了(虽然是用虚幻的框架和接口)。下面我们就来一步一步在虚幻中敲一个自己的渲染器。我使用的环境是:4.19源码版引擎,windows10,vs2017社区版。我这里只是举个例子,有兴趣的美术也可以照着这个办法把各种自己常用的离线渲染器搬到引擎里。


【第一步】定义一条新的渲染path

首先第一件事情是我们需要定义一条我们自己的渲染路径,现在引擎有两条渲染路径,一条是Mobile的一条是deferred,并且它是根据渲染质量来决定的

v2-346b238647d063c43cc5fef1dbb71edc_b.jpg

所以我打算使用SM3_1这个等级作为我们渲染器的使用等级,所以我把这个函数改为了下面这个样子,在SceneInterface.h中

v2-f162d54b738239f98ea9679f033b72a6_b.jpg
v2-b24f65d0dac89185959d57bcaf701b03_b.jpg

使用SM4或者SM5的话会多需要考虑可见性剔除的东西。

v2-505c28e4bab1e1b04d44c13f5d5acde1_b.jpg

如果我们写forward但是又用到了上面这部分分支的代码的话,ViewInfo在析构的时候会出发断言。

然后还要在SceneRenderTargets.h里加上自己的渲染路径所对应的RT格式

v2-4e227d927751ff41179d255c2c63dfd2_b.jpg

【第二步】自定义渲染器

然后再到SceneRendering.h中加入声明一个我们的渲染器

v2-487c040c9ee84b63d864eafb05a4ab39_b.jpg

在创建渲染器的地方new它

v2-ffcb9ffc27ed7cd53c01c9fb0c559f4c_b.jpg

【第三步】

我们在引擎的Render模块里新建一个MyRenderer.cpp,然后到工程目录下ReGenerate一下工程,然后你将会看到:

v2-2bd3a27a2c460ed73c31e79366134d7b_b.jpg

然后在MyRenderer中敲入如下代码

v2-669e0859583ca9bde044ba4ed82ce9ee_b.jpg

【第四步】

然后我们就可以点F5起引擎然后去泡杯茶啦。如果你电脑配置不太好,那就可以去泡两杯。

v2-597b27b3664628961fd8939499ededee_b.jpg

推荐澳洲葵花蜜+绿茶。

【第五步】

打开引擎后切换到SM3

v2-46f8ebddcc7c683f18692e2c3dd6ef6e_b.jpg

不出意外的话我们将只能看到上一个渲染器给我们留下的最后一帧画面。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cpongo11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值