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
- UI Builder can't set a background image to a sprite from a multi-sprite spritesheet in the Resources folder
- Light2D freeform does not render the internal part when rendered in certain shapes
- Using AddCopyPass causes an incorrect merging of passes.
- Negative Enum value is not pasted correctly when copying from another array
- Silent Crash when generating Lightmap UVs for a model with a large object scale
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