Studying Computer Graphics Part 5: Game Engine Render Pipelines
- Apr 26, 2020
- 2 min read
Our next topic for this subject is Game Engine Render Pipelines. In class, we discussed the different pipelines that engines such as Unity or Unreal use and how they work. Unity 3D has a few different rendering paths for users to select from depending on the requirements of the project. These paths are forward rendering, deferred shading, legacy vertex lit, and legacy deferred. Through some research I found out the following:
Forward rendering is where each object and the lights affecting them are rendered in one or multiple passes. In this pipeline, a base pass renders objects with a singular directional light and all other lighting that is per-vertex or spherical harmonic.
A per-vertex light has its lighting and colour calculated in a vertex shader. In vertex shaders, a meshes vertices will only be calculated if they are being illuminated by the light source. A per-pixel light is calculated in a fragment shader and each pixel calculates their own lighting.
In forward rendering, aside from the directional light, all other per-pixel lights are rendered in other passes.
Deferred shading doesn’t hold a limit on the number of lights that can affect a game object and the handling of overhead lighting is relative to the number of pixels being illuminated in the scene. This can cause some performance issues due to the overhead being based on the volume of the lights in the scene, so using small lights such as point, or spotlights is considered to be best practice.
Vertex lit rendering is Unity’s fastest rendering path, where each game object is rendered in singular passes. All scene lighting is calculated per-vertex and won’t support effects such as normal mapping.
Legacy deferred rendering is very similar to the deferred rendering path. Differences between the two include, legacy deferred rendering game objects twice, having a lower overhead, not supporting Unity 5’s standard shader and having a slightly larger hardware support range.
References:
Game Engine Render Pipelines Lecture
Direct Lighting Lecture
UnityTechnologies, 2020. Unity - Manual: Rendering Paths In The Built-In Render Pipeline. [online] Docs.unity43d.com. Available at: <https://docs.unity3d.com/Manual/RenderingPaths.html> [Accessed 24 April 2020].
UnityTechnologies, 2020. Unity - Manual: Forward Rendering Path. [online] Docs.unity3d.com. Available at: <https://docs.unity3d.com/Manual/RenderTech-ForwardRendering.html> [Accessed 24 April 2020].
UnityTechnologies, 2017. Unity - Manual: Deferred Shading Rendering Path. [online] Docs.unity3d.com. Available at: <https://docs.unity3d.com/Manual/RenderTech-DeferredShading.html> [Accessed 26 April 2020].
UnityTechnologies, 2020. Unity - Manual: Vertex Lit Rendering Path. [online] Docs.unity3d.com. Available at: <https://docs.unity3d.com/Manual/RenderTech-VertexLit.html> [Accessed 26 April 2020].
UnityTechnologies, 2020. Unity - Manual: Legacy Deferred Rendering Path. [online] Docs.unity3d.com. Available at: <https://docs.unity3d.com/Manual/RenderTech-DeferredLighting.html> [Accessed 26 April 2020].



Comments