One of our licensees encountered this issue. Landscape normal is calculated differently on GPU vs CPU.

See screenshot below: left is GPU (with Edit Layers enabled) and CPU (Layers disabled)

[Image Removed]

This is a summary of what they discovered about the cause of this problem:

[Image Removed]

They'd like to know if this is by design, and if so the reason behind it. Either way they want a way to get 'correct' normal on GPU since the CPU normal is of higher quality.



Steps to Reproduce
  1. Open the reproduce project attached
  2. Open the map "Main", a post process volume has been setup to display World Normal
  3. See how the two landscapes have different normal quality
    The left one is GPU, with Edit Layers enabled. Notice how normals appear 'chunky' in steep areas (top part) and have weird bumps in smooth areas (bottom part)
    Notice how the right one (CPU) yields much better result.
  4. You can try reimport Heightmap.png to both of the landscapes, results won't change

Additionally, if you disable Edit Layers of the left landscape, the result won't immediately change, it still inherits normal from previous GPU result. You need to reimport Heightmap.png or do sculpt editing to 'refresh' the normals.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-95444 in the post.

Login to Vote

ComponentUE - LD & Modeling - Terrain - Landscape
Affects Versions4.25
Target Fix4.27
Fix Commit15365499
Main Commit15365499
CreatedJul 16, 2020
ResolvedFeb 10, 2021
UpdatedNov 28, 2022