Language:
Page Info
Tags:
Skill Level:
Engine Version:

Post Process Effects on Mobile Platforms

Choose your OS:

Mobile Post Processing is implemented as a separate code path from PC/Console Post Processing. This is to reflect the slower dependent texture reads, missing hardware features, extra render target resolve costs, and slower performance in general. To enable Post Processing for your mobile applications, please make sure that Mobile HDR is enabled in your Project Settings as most of the settings below require Mobile HDR to be enabled for the effect(s) to work.

Click for full image.

Enabling Tonemapper for Mobile Devices

To use the Tonemapper Post Processing options on Mobile Devices, you will need to set the value of r.tonemapperfilm from its default of 0 to 1. You can change, enable, or disable the Tonemapper inside of the Unreal Engine 4 (UE4) Editor in the following ways:

Tonemapper On

Tonemapper Off

Enabling Tonemapper Film via the Console

You can enable the Tonemapper in the UE4 Editor by first opening up the console by pressing the Backtick key(`) and then entering the following command to enable the Tonemapper.

  • r.tonemapperfilm 1

To disable the Tonemapper, open up the console and enter the following command to disable the Tonemapper.

  • r.tonemapperfilm 0.

This method will enable the Tonemapper only for this session. If you want the Tonemapper to always be on you will need to add the Tonemapper settings you want to use to the DefaultEngine.INI.

Click for full image.

Enabling Tonemapper Film via .INI Files

To enable or disable the Tonemapper project wide you will need to add r.tonemapperfilm=1 to the Rendering Settings in your project's DefaultEngine.ini.

Click for full image.

Click for full image.

Enabling Tonemapper Film on a Mobile Device

To enable or disable the Tonemapper on a Mobile Device you will need to tap the screen with four fingers at the same time to bring up the Console Window and then input r.tonemapperfilm 1 to enable the Tonemapper or r.tonemapperfilm 0 to disable the Tonemapper.

Click for full image.

Supported Post Process Effects and Settings on Mobile

In the following section we will go over what Post Process Effects and settings are supported on Mobile devices, as well as whether they require the tonemapper to be enabled.

Click for full image.

White Balance

Post Process Property

Supported

R.tonemapperfilm Value

Temp

Yes

1

Tint

Yes

1

Color Grading

Post Process Property

Supported

R.tonemapperfilm Value

Saturation

Yes

1

Contrast

Yes

1

Gamma

Yes

1

Gain

Yes

1

Offset

Yes

1

Film

Post Process Property

Supported

R.tonemapperfilm Value

Tint

Yes

0

Tint Shadow

Yes

0

Tint Shadow Blend

Yes

0

Tint Shadow Amount

Yes

0

Saturation

Yes

0

Channel Mixer Red

Yes

0

Channel Mixer Green

Yes

0

Channel Mixer Blue

Yes

0

Contrast

Yes

0

Crush Shadows

Yes

0

Crush Highlights

Yes

0

Dynamic Range

Yes

0

Slope

Yes

1

Toe

Yes

1

Shoulder

Yes

1

Black Clip

Yes

1

White Clip

Yes

1

Scene Color

Post Process Property

Supported

R.tonemapperfilm Value

Scene Color Tint

Yes

1

Fringe Intensity

Yes

0 & 1

Vignette Intensity

Yes

0 & 1

Grain Jitter

Yes

0 & 1

Grain Intensity

Yes

0 & 1

Color Grading Intensity

Yes

1

Color Grading

Yes

1

Bloom

Post Process Property

Supported

R.tonemapperfilm Value

Intensity

Yes

0 & 1

Threshold

Yes

0 & 1

Size Scale

Yes

0 & 1

#1 Size

No

n/a

#2 Size

No

n/a

#3 Size

No

n/a

#4 Size

No

n/a

#5 Size

No

n/a

#1 Tint

No

n/a

#2 Tint

No

n/a

#3 Tint

No

n/a

#4 Tint

No

n/a

#5 Tint

No

n/a

#6 Tint

No

n/a

Dirt Mask Intensity

Yes

1

Dirt Mask Tint

Yes

1

Dirt Mask

Yes

1

Auto Exposure

Post Process Property

Supported

R.tonemapperfilm Value

Auto Exposure Histogram

Yes

0 & 1

Auto Exposure Basic

Yes

0 & 1

Low Percent

No

n/a

High Percent

No

n/a

Min Brightness

No

n/a

Max Brightness

No

n/a

Speed Up

No

n/a

Speed Down

No

n/a

Exposure Bias

Yes

0 & 1

Histogram Log Min

No

n/a

Histogram Log Max

No

n/a

Depth Of Field

Post Process Property

Supported

R.tonemapperfilm Value

BokehDOF

Yes

0

GaussianDOF

Yes

0

CircleDOF

No

n/a

High Quality Gaussian DoF on Mobile

Yes

1

Aperture F - Stop

No

n/a

Focal Distance

Yes

0

Depth Blur km for 50%

No

n/a

Depth Blur Radius

No

n/a

Focal Region

No

n/a

Near Transition Region

Yes

0

Far Transition Region

Yes

0

Scale

Yes

0

Max Bokeh Size

No

n/a

Near Blur Size

No

n/a

Far Blur Size

No

n/a

Shape

No

n/a

Occlusion

No

n/a

Color Threshold

No

n/a

Sky Distance

No

n/a

Vignette Size

No

n/a

Misc

Post Process Property

Supported

R.tonemapperfilm Value

Screen Percentage

No

n/a

AA Methods

Yes

0 & 1

The AA Method supports "None" (the fastest) and "TemporalAA" which provides a special mobile temporal AA which provides something around 2xSGSSAA with a little bit of judder in motion

Custom Post Process Materials

Unreal Engine ships with a variety of Post Process effects, allowing you to customize the look and feel of your mobile applications. There are times, though, when you'll want to create custom Post Process Materials, enabling your own effects (such as "VCR Static").

image alt text

Adding effects to your mobile application requires the development of custom Post Process materials. When creating custom Post Process materials for mobile applications, you should note that there are some key things to consider. Specifically, it's important to note that custom Post Process materials for mobile applications can only fetch from PostProcessInput0 (Scene Color) with the following Blendable Locations:

  • Before Tonemapping

  • After Tonemapping

To learn more about Blendable Locations, read through our Post Process Materials reference page. Currently, you cannot create custom Post Process materials for older Android devices that require 'mosaic' mode for HDR rendering. Finally, pixel depth information is not yet supported.

Custom Depth

You can now use the Custom Depth Post Process option with the Mobile rendering path. Custom Post-Process Materials can now sample from Scene Depth, Custom Depth as well as Scene Color.

Custom_Scene_Depth.png

As this features requires Post-Processing to work correctly, Mobile HDR must be enabled. To enable Mobile HDR go to Project Settings > Engine > Rendering > Mobile and make sure that Mobile HDR is checked.

Click for full image.

Please note that this feature also does not currently work while Mobile MSAA is enabled so Mobile MSAA will have to be disabled for you to see the effect on the device.

General Post Process Performance Tips

  • For best performance and quality, you should stick to using just Bloom and TemporalAA.

For better performance, we have implemented a special workaround which is controlled by the console variable "r.RenderTargetSwitchWorkaround". In BaseDeviceProfiles.ini, you can see it is enabled for several devices. Note that there will be a small change in appearance to the bloom effect on devices with certain performance characteristics. The console variables help text describes this in more detail:

r.RenderTargetSwitchWorkaround

Workaround needed on some mobile platforms to avoid a performance drop related to switching render targets.
Only enabled on some hardware. This affects the bloom quality a bit. It runs slower than the normal code path but
still faster as it avoids the many render target switches. (Default: 0)
We want this enabled (1) on all 32-bit iOS devices (implemented through DeviceProfiles).
Tags