It looks like the SSAO shader does not clamp its sample space to the half view size for the two inputs "Ambient Occlusion" and "AmbientOcclusionSetup", leading to invalid data entering the edge of frame.
This might be from the functions "WedgeWithNormal(...)" and "WedgeNoNormal(...)" in PostProcessAmbientOcclusionCommon.ush.
1. Download the Licensee's test project, compile, and launch https://udn.unrealengine.com/s/contentdocument/069QP000001I4hLYAS
2. Observe the SceneCapture pointing at a solid color wall. Wall is larger than Scene Capture's view.
3. On the SceneCapture object, set "Grabbed File Dir" under "Debugging" to a directory you can put screenshots in.
4. Simulate the Game, let it render a bit, then exit simulation.
5. Open the created "Capture.exr" in the directory specified in Step 3. Observe the artifacts along the bottom-right edges.
6. Simulate again, and run a GPU Dump
7. Observe the pass "AmbientOcclusionPS 960x540 ...". The inputs "Ambient Occlusion" and "AmbientOcclusionSetup" are larger than the half viewport size, and the output "ScreenSpaceAO" is larger than the viewport size (960x540).
8. Observe the artifacting in the output "ScreenSpaceAO" along the bottom-right of the red rectangle. This is easier to see with a modification to the visualizer shader: "display.r = texel * 0.6;"
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-201498 in the post.
0 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 5.3 |
Target Fix | 5.4 |
Created | Nov 29, 2023 |
---|---|
Resolved | Feb 12, 2024 |
Updated | Mar 19, 2024 |