虚幻4 D3D渲染过程的笔记

本文深入分析了虚幻引擎中使用D3D进行渲染的一帧调用过程,从GuardedRun开始,最终调用FD3D11DynamicRHI类中的函数完成渲染任务。通过这一流程,理解了虚幻引擎如何在多线程环境下高效利用D3D接口,最终将场景呈现在Windows平台上的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近心情很难过。身体也不好。周六请假休息了一下,还是觉得写点东西比较好。哎。


这是虚幻的D3D渲染一个方块的一帧的调用过程的记录。


渲染的调用起始于  GuardedRun.  这也是虚幻的多线程渲染的原因。

最后调用的都是

FD3D11DynamicRHI类中的函数。可以看出最后的函数都是调用这个类的函数,所以WINDOWS 中的D3D应该最后都是调用到这个。

unrealengine\engine\source\runtime\windows\d3d11rhi\


前一个函数是DrawMesh,应该就是画这个MESH了。


void FMeshDrawingPolicy::DrawMesh(FRHICommandList& RHICmdList, const FMeshBatch& Mesh, int32 BatchElementIndex) const

最后调用的都是

\unrealengine\engine\source\runtime\renderer

文件夹下的函数。

我想应该是

通过这个文件夹下的函数后最后调用最后调用到OpenGL还是D3D还是Metal。本次就是调用了WINDOWS了的D3D文件夹下的D3D接口。

RenderHardwareInterface




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值