Search Issue Tracker
Won't Fix
Won't Fix in 2023.2.X
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
- Invalid Clip Method
- WebGPU error with Fantasy Kingdom and GPU Resident Drawer
- WebGPU fails with height fog in Fantasy Kingdom
- Crash on UndoManager::RegisterUndoInternal when applying added GameObjects to a Prefab
- [Asset Bundles] A new bundle hash is not generated when the name of a serialized field is changed
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
Resolution Note (2023.2.X):
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