最近心情很难过。身体也不好。周六请假休息了一下,还是觉得写点东西比较好。哎。
这是虚幻的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