
It operates in parallel with the Game Thread and it’s usually one or two frames behind it. The renderer code runs in a separate thread, the Rendering Thread. Here is the complete UE4 documentation for graphics programming: UE4 Graphics Programming. You have to take care of every memory read and write not only to ensure thread safety, but also to avoids race conditions. Rendering in Unreal it’s a complex area, especially if you want to make modifications to customize it for your purposes. Here is where the magic happens to allow the abstract rendering code to work on different platforms using different APIs. The RHI (Render Hardware Interface) is the other key module for graphics programming as it is the interface for rendering APIs. However, when the Engine needs to call some code in the Renderer, this happens through the IRendererModule interface.

The Renderer module depends on the Engine module because it has many callbacks into it. The code for rendering exists in the Renderer module, which is compiled to a shared library (e.g.dll on Windows) to allow faster iteration. In this article, I would like to write down a brief description of the rendering process in Unreal Engine 4 and analyze how the engine approaches the main elements of real time rendering. Unreal Engine 4 has a really complex multi-platform and multi-threaded rendering engine.
