May 3, 2023 Hana Trieu

Forward Shading Renderer for VR in Unreal Engine 5

Unreal Engine’s default renderer is a Deferred Renderer, which provides the most flexibility and access to most rendering options. However, there are several drawbacks to using the Deferred Renderer, which may not be appropriate for all VR experiences. Forward Renderer provides a faster baseline, with faster rendering passes, which may result in better VR platform performance. Forward Shading Renderer is faster and has more anti-aliasing settings than Deferred Renderer, which may result in more pleasing visuals.

1. Forward Shading Renderer for a better VR experience in Unreal Engine 5

1.1 Enabling Forward Shading

To enable the Forward Shading Renderer, do the following:

        • From the Edit menu, open the Project Settings.
        • On the left, navigate to the Rendering tab and look for the Forward Shading category.
        • Enable Forward Shading.

You will be required to restart the editor. After that, you can use the Forward Renderer settings and features.

1.2 Enabling Multisample Anti-Aliasing

To use Multisample Anti-Aliasing (MSAA), follow these steps:

        • From the Edit menu, open the Project Settings.
        • On the left, select the Rendering tab and then the Default Settings category.
        • Set the Anti-Aliasing Method to MSAA.

The forward renderer supports both MSAA and Temporal Anti-Aliasing (TAA), with TAA being better in most circumstances because it reduces both geometric and specular aliasing. However, in VR, the constant sub-pixel movement produced by head tracking causes undesired blurriness, therefore MSAA is a better choice. MSAA-enabled projects will wish to generate content to reduce specular aliasing. Additionally, the Normal to Roughness function can help reduce specular aliasing caused by detailed normal maps, and automatic LOD generation for static meshes can flatten features on distant meshes to help reduce aliasing caused by small triangles.

Using MSAA instead of TAA improves GPU frame time by around 25% in our tests. The real cost depends on your content.

A comparison between Temporal AA and 4X MSAA is shown below.

Source: unrealengine.com

Note: You can use the console variable r.MSAACount to determine how many MSAA samples are computed for each pixel. MSAA is disabled when r.MSAACount is set to 1. Assigning r.MSAACount 0 causes Temporal AA to be used, allowing easy switching between Anti-Aliasing methods.

1.3 Performance and Features

Switching from the Deferred Renderer to the Forward Shading Renderer may improve the performance of your project.

For some content, the forward renderer could be faster than the deferred renderer. The majority of the performance boost comes from features that can be turned off per material. Unless the material opts in to High Quality Reflections, only the nearest reflection capture will be applied without parallax correction, height fog is computed per-vertex, and planar reflections are only applied to materials that enable them.

Using these choices, the forward shading renderer in Robo Recall – Epic’s latest VR game, is around 22% faster than the deferred renderer on an NVIDIA 970 GTX.

The Forward Renderer creates a frustum-space grid by culling lights and Reflection Captures. The forward pass iterates across the lights and Reflection Captures that have an effect on it, sharing the material with them. Dynamic Shadows for Stationary Lights are computed in advance of time and packed into channels of a screen-space shadow mask, taking advantage of the current constraint of four overlapping Stationary Lights.

Use the [Profiling]() Tools in Unreal Engine to analyze your game’s performance when switching from the Deferred Renderer to the Forward Renderer. You should pay close attention to [Profiling GPU]() to observe where GPU costs are going, as well as use the [Stat Commands]() to help with your profiling efforts.

1.4 Supported Features

The following are the Forward Renderer features that are currently supported:

        • Stationary Lights are fully supported, including Dynamic Shadows from Movable Objects that merge with precomputed environment shadows.
        • Multiple Reflection Captures combined with parallax correction
        • Planar Reflections of a partial scene composited into Reflection Captures
        • DBuffer Stickers
        • Precomputed Lighting $ Sky Lights
        • Countless unshadowed Movable Lights
        • Capsule Shadows
        • Masked Materials Alpha-to-coverage
        • Instanced Stereo Compatible
        • Up to 4 overlapping Shadow Casting Movable Lights
        • Light Functions on shadow casting lights

1.5 Known Issues & Common Questions

Although Forward Shading Renderer has many advantages for the VR experience, there are still some unsupported features and issues with it.

Some unsupported features: 

        • Screen Space Techniques (SSR, SSAO, and Contact Shadows)
        • Dynamically Shadowed Translucency
        • Translucency receiving environment shadows from a Stationary Light
        • MSAA on D-Buffer Decals and Motion Blur

Some common questions/issues that you may encounter when using the Forward Shading Renderer:

Questions/Issues

Answers/Solutions

1. Material is broken when switching to the Forward Renderer. Is there something about GBuffer scene textures?

The Forward Renderer does not have access to the GBuffer for texture sampling. It can only be used with the Deferred Renderer.

2. Is it true that the Forward Renderer allows for fewer texture samples than the Deferred Renderer?
  • The Forward Renderer packs all features into one shader. Therefore, there are fewer texture samplers available for your material.
  • Usually, you can solve this using Shared Samplers.
3. Why are you having trouble finding samples against Atmospheric Fog with MSAA?
  • Atmospheric Fog does not handle MSAA appropriately.
  • You can avoid Height Fog by using Vertex Fogging, which is enabled by default when Forward Shading is enabled.
  • This means that it is computed in the Forward BasePass and hence anti-aliased correctly.
  • Atmosphere is still computed in a Deferred Pass off of resolved scene depths. As a result, it does not anti-alias properly.

2. iRender - The best render farm for Unreal Engine

iRender is proud to be a professional GPU Accelerated Cloud Rendering Service provider for 3D Render, CGI, and VFX tasks with more than 30,000 clients. We are appreciated in many global rankings (e.g. CGDirectorLumion OfficialRadarrenderInspirationTuts CAD,  All3DP, BlenderBaseCamp, VFX Rendering.)

We provide remote machine rental services, specifically, high-configuration dedicated servers (RTX 3090 and RTX 4090 physical machines/computers) for you to control via the Microsoft Remote Desktop application. You will set up your creative working environment on our servers to optimize and render projects whenever/wherever you want.

Our cloud rendering services for Unreal Engine

Unreal Engine utilizes the video card primarily to display the graphics on the screen. A faster video card will give you a higher FPS in the viewport or in a stand-alone game. At iRender, we have a single RTX 4090 server package that is the most suitable for Unreal Engine rendering. Its detailed configuration is as the following image.

        • One GPU – NVIDIA GeForce RTX 4090 24GB: With 24GB of VRAM and terrific performance, RTX 4090 is one of the best GPUs to use for game development, Virtual Production, Architectural Visualization, and even VR content. 
        • One CPU – AMD Ryzen™ Threadripper™ PRO 3955WX 3.9 GHz: A strong 16-core processor for heavily threaded tasks.
        • 256GB RAM: exceeds the amount of RAM needed for the Unreal Editor by itself. It allows you to do RAM-intensive tasks and work with other programs in addition to Unreal Engine at the same time.
        • 2T storage SSD: A fast NVMe drive for the OS and applications and a large project drive.

For big projects having tight deadlines and needing faster rendering, you can use several servers simultaneously. iRender allows users to use multiple servers on one account. The installation is also simple: Just set up Unreal Engine on one server (machine) and clone it to many other machines.

Let’s check out Unreal Engine 5 rendering performance on our single RTX 4090 server: 

Let’s get started!

Create an account now to try our RTX 4090 server for your Unreal Engine! For further information, please do not hesitate to reach us at [email protected] or mobile: +84 915 875 500

 

iRender – Happy Rendering!

Reference source: unrealengine.com

Related Posts

The latest creative news from Unreal Engine Cloud rendering.

Forward Shading Renderer for VR in Unreal Engine 5
, , , , , , , , , , , , , , , , , , , , , ,

Hana Trieu

iRender - Happy Rendering, Happy Training!
Contact

INTEGRATIONS

Autodesk Maya
Autodesk 3DS Max
Blender
Cinema 4D
Houdini
Daz Studio
Maxwell
Nvidia Iray
Lumion
KeyShot
Unreal Engine
Twinmotion
Redshift
Octane
And many more…

iRENDER TEAM

MONDAY – SUNDAY
Hotline: (+84) 912-785-500
Skype: iRender Support
Email: [email protected]
Address 1: 68 Circular Road #02-01, 049422, Singapore.
Address 2: No.22 Thanh Cong Street, Hanoi, Vietnam.

Contact
[email protected]