Search Issue Tracker
Won't Fix
Votes
0
Found in
2021.3.33f1
2022.3.16f1
2023.2.4f1
Issue ID
UUM-59307
Regression
No
GameObjects are shifted in Game view when DLSS is enabled
How to reproduce:
1. Open the “DLSS_Camera_Issue” project
2. Open the “Assets/SunFlaresHDRP/Scene”
3. Enter Play Mode
4. Observe the Game view
5. In the Hierarchy window select the “Main Camera” GameObject
6. In the Inspector window under the “Camera” Component disable the “Allow DLLS” option
7. Observe the Game view
Expected result: The “Sphere Occluder” GameObject does not change its position
Actual result: The “Sphere Occluder” GameObject changes its position
Reproduced with: 2021.3.33f1, 2022.3.16f1, 2023.2.4f1
Could not test with: 2023.3.0a19 (Could not resolve scripting errors)
Reproduced on: Windows 11
Not reproduced on: No other environment tested
Notes:
1. Not reproducible in the Player
2. When “Main Camera” is selected in the Scene view the Camera Preview window shows the expected result
3. Changing the Custom Quality Mode moves the “Sphere Occluder” GameObject in the Game view (“Allow DLSS” must be enabled first)
4. Not reproducible when “Use Optimal Settings” is disabled (“Allow DLSS” must be enabled first)
5. Could not reproduce in a new project
6. Could not test in a URP project → DLSS is not supported
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
- [URP] Invalid update of shader stripping settings
- [HDRP] Errors on Shader stripper that do not stripp shaders.
- Usage of Adaptive Probe Volumes throws a lot of IndexOutOfRangeException and Assertion Failed errors
- Prefab overrides don't recover missing managed references
- Trail Renderer visual doesn't match the positions of vertices when they have been offset
Resolution Note:
It seams like this is a bug in the clients code.
The client code's custom post process pass is using the incorrect scale to sample the input texture.
How to fix:
1. Go to the shader file SunFlaresPass.hlsl
2. In the FragSF shader, line 200, utilize the constnat "_PostProcessScreenSize.xy" to compute the positionSS to sample the input texture, instead of "_ScreenSize.xy"
3. Applying this change will now show the correct results.
Explanation:
The reason for this is because we have 2 resolutions in HDRP by design. _PostProcessScreenSize (which is after rendering) and _ScreenSize. Depending on the DRS configuration, render targets will contain this size. In this case, because DLSS (or TAA) is configured to run before post process, the resolution of the input texture is actually the upscaled resolution (_PostProcessScreenSize).
This update might have to happen in other places in the code.