Search Issue Tracker
By Design
Votes
0
Found in [Package]
Master 2020-07-17
Issue ID
1263882
Regression
No
[HDRP] Refractive material rendering issues when used with reflection probles (box shaped glitch)
When a refractive material is used on a sphere, box shape artefacts are visible. The issue occurs only when the sphere is being influenced by a reflection probe.
Reproduction steps:
1. In attached project, open the samplescene and notice box like shapes on the sphere as in the video. Happens both in sphere and box refraction modes.
Found using:
2020.2.0a18 with Master SRP branch (10.0) also in 8.2.0
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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note:
Unfortunately, the issue comes from a problem with the underlying design of our lighting cluster which is not something that we can really fix.
Currently, refraction works by using reflection probe proxies to apply parallax correction. Since we don't have an explicit probe linked to each object (due to lighting being done in screen space) we choose the first probe's proxy in the pixel's current lighting cluster.
The root of the problem here is that, for optimization purpose, the repartition of the clusters along the depth of the camera depends on the max depth of each tile (the further away is the background, the bigger the clusters). This will result in different probe list per cluster which is exactly what we see here. The blocky artefacts are actually clusters with different probe list and because of that, the proxy used for refraction is different which explains the discontinuities we can see here.
We don't have a satifsying solution here so as a workaround, users need to make sure that there are enough probes and that the background is regular when looking at the refracting object. This should avoid most of these issues.