Version: Unity 6 Preview (6000.0)
Language : English
Make a shader compatible with the Deferred rendering path in URP
Deferred rendering path code files reference for URP

Enable accurate G-buffer normals in the Deferred rendering path in URP

When you select the Deferred Rendering PathThe technique that a render pipeline uses to render graphics. Choosing a different rendering path affects how lighting and shading are calculated. Some rendering paths are more suited to different platforms and hardware than others. More info
See in Glossary
, Unity shows the Accurate G-buffer normals property.

The Accurate G-buffer normals property lets you configure how Unity encodes the normals when storing them in the geometry buffer (G-buffer).

  • Accurate G-buffer normals off: This option increases performance, especially on mobile GPUs, but might lead to color banding artifacts on smooth surfaces.

  • Accurate G-buffer normals on: Unity uses the octahedron encoding to store values of normal vectors in the RGB channel of a normal texture. With this encoding, values of normal vectors are more accurate, but the encoding and decoding operations put extra load on the GPU. This option does not support decal normal blending when used with the Screen Space decal technique.

With Accurate G-buffer normals option turned on, there is extra load on the GPU because of the encoding and decoding operations. This load is insignificant for desktop platforms and consoles, but might be considerable for mobile GPUs.

Turning the option on does not increase the memory footprint. To store the normals, Unity uses the same RGB channel in the normal texture regardless of the encoding.

For more information about this setting, refer to Encoding of normals in G-buffer.

Make a shader compatible with the Deferred rendering path in URP
Deferred rendering path code files reference for URP