Search Issue Tracker
Won't Fix
Votes
0
Found in
2022.2.11f1
2023.1.0b8
2023.2.0a6
Issue ID
UUM-32170
Regression
No
Generated Entities look different when Depth Priming Mode is changed
Reproduction steps:
1. Open the attached project “ecs-draw-test“
2. Open the “SampleScene” Scene
3. Set the Depth Priming Mode to Auto in URP-High-Fidelity-Renderer
4. Enter Play Mode and observe the Game View
5. Exit Play Mode
6. Set the Depth Priming Mode to Disabled in URP-High-Fidelity-Renderer
7. Enter Play Mode and observe the Game View
Expected result: generated Entities look the same both times
Actual result: generated Entities look different when Depth Priming Mode is changed
Reproducible with: 14.0.6 (2022.2.11f1), 15.0.4 (2023.1.0b8), 16.0.0 (2023.2.0a6)
Could not test with: 10.10.1 (2020.3.46f1) (Depth Priming Mode not implemented), 12.1.10 (2021.3.21f1), 14.0.3 (2022.2.0b16) (Invalid dependencies)
Reproduced on: macOS 13.2.1 (Intel), Windows 10 (user reported)
Notes:
-Tested in Build
-Adding screenshots for each result: sample01 (Depth Priming Mode disabled), sample02 (Depth Priming Mode is Auto), sample03 (Depth Priming Mode is Auto and ScreenSpaceAmbientOcclusion is enabled)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- [Android] TouchScreenKeyboard.active triggers an error when set to false in the Player
- [Android] Auto-correct suggestions show up over the "hidden zone" when typing text with TouchScreenKeyboard
- [Android] Clicks on the "hidden zone" remain blocked when TouchScreenKeyboard is active
- [URP][DX12] Black Game View window when URP Dynamic Resolution is enabled
- VideoPlayer.Time is not updated when seeking is completed
Resolution Note:
this is a generated content issue, depth priming is working "by design".
How depth priming works: it does a depth prepass and the opaque objects will just change the depth comparison op to Equal to reduce opaque overdraw. Because of this, the depth ranges will be quantized based on the resolution of the depth buffer.
In RenderDoc I can see 3 DrawIndexedInstanced calls, drawed at depth values increments which are lower than the depth buffer resolution, so you can see z-fighting artifacts when the depth comparison (against the prepass depth) happens. You should make sure to generate entities at different depth values to avoid z fighting, or can disable depth priming but suffer potential z-fighting when moving the camera on top of overdraw