虚幻4把模型拖入场景后,模型是怎么被渲染出来的流程分析

在我们把模型拖入虚幻4的视口后

场景编辑器会调用RendererScene的AddPrimitive函数

然后在这个函数种会调用Scene->AddPrimitiveSceneInfo_RenderThread(RHICmdList, PrimitiveSceneInfo);

然后会调用FPrimitiveSceneInfo的AddToScene

然后会调用PrimitiveSceneInfo的AddStaticMeshes

然后会调用FStaticMesh的AddToDrawLists

然后这里会根据情况把FStaticMesh加入到各个DrawingPolicyFactory里面

各个Drawing PolicyFactory又会调用AddStaticMesh函数,这里以FDepthDrawingPolicyFactory的AddStaticMesh为例

这里就会完成把我们的模型数据加入到FScene的各种DrawList里面

来看看FScene里面到底存了些啥

一切就十分清晰了
最后在StaticMeshDrawList中完成添加和link

然后我们的FScene就完成了绘制列表的构建。

然后事情还没有完,我们的模型是怎么被渲染出来的呢。

找到void FDeferredShadingSceneRenderer::Render(FRHICommandListImmediate& RHICmdList)

函数,我以RenderPrePass为例

调用drawlist的draw方法,我们就会完成相应pass需要绘制的东西了。

Enjoy it !!

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值