\Engine\Source\Runtime\
下有很多模块的代码。
RHI模块:
\Engine\Source\Runtime\RHI
基类,D3D、OpenGL、Metal 的类都继承自RHI模块。
D3D11&D3D12:
\Engine\Source\Runtime\Windows\
OpenGL:
\Engine\Source\Runtime\OpenGLDrv
Metal:
\Engine\Source\Runtime\IOS\
RenderCore模块:
\Engine\Source\Runtime\RenderCore
目前认为是处理渲染关于 线程 的一些操作的模块。
ENQUEUE_UNIQUE_RENDER_COMMAND这种宏定义都在这个模块里面。可以往渲染线程发命令。
Renderer模块:
\Engine\Source\Runtime\Renderer
真正渲染各种东西的代码,比如渲染Atmosphere,PostProcess,Light等。
真正渲染代码从哪一层开始分开的,目前还没找到。理论上讲Renderer里面操作的应该都是基类RHI的函数,而具体使用哪一个模块来渲染,没找到哪里确定的。