Search Issue Tracker
By Design
By Design in 2023.2.X
Votes
6
Found in
2020.3.48f1
2021.3.25f1
2022.2.19f1
2023.1.0b14
2023.2.0a13
Issue ID
UUM-35141
Regression
No
Rendering artifacts when using Depth Mask shader in WebGL
How to reproduce:
1. Open the attached project "DepthMaskTest.zip"
2. Build And Run the project for WebGL Development Build
Expected results: No rendering artifacts in the WebGL Player
Actual results: Rendering artifacts seen in the WebGL Player
Reproducible with: 2020.3.48f1, 2021.3.25f1, 2022.2.19f1, 2023.1.0b14, 2023.2.0a13
Could not test with: 2023.2.0a14 (the Player hangs in the browser)
Reproducible on: Windows 10
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
- Crash on CheckDeviceStatus when converting materials from built-in to URP and using DX12
- Higher CPU frame time on Android devices with Cortex-A510 efficiency cores (vs Cortex-A55)
- Alt+click on List header does not recursively toggle child foldouts when items use a UI Toolkit CustomPropertyDrawer
- Artifacts are rendered in UITK when using Font Assets and using negative outlines
- Editor hangs when opening Asset picker window for AssetReference and a lot of addresable assets are present in the project
Resolution Note:
By design: project's use of depth masking depends on strict objects rendering order. In this case the object rendering order is:
"Capsule","DepthMask",everything else.
Color buffer values withing the depth masked region are not initialized, because no other object passes ZTest, and the "Capsule" within is filling only a part of the masked area. So the remaining area within depth masked region remains uninitialized, and the values are undefined behaviour depending on GPU/drivers/devices.
Resolution Note (2023.2.X):
By design: project's use of depth masking depends on strict objects rendering order. In this case the object rendering order is:
"Capsule","DepthMask",everything else.
Color buffer values withing the depth masked region are not initialized, because no other object passes ZTest, and the "Capsule" within is filling only a part of the masked area. So the remaining area within depth masked region remains uninitialized, and the values are undefined behaviour depending on GPU/drivers/devices.