Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

TemporalAA and FXAA cause Artifacts in Reflection Mode with SSR

When in Reflection Viewmode in the Editor, the Scene shows artifacts:
r.SSR.Quality = 0 (off); No AA:

alt text

r.SSR.Quality > 0, FXAA:

alt text

r.SSR.Quality > 1, TemporalAA: alt text

Product Version: UE 4.15
more ▼

asked Apr 21 '17 at 11:04 AM in Bug Reports

avatar image

407 10 20 45

avatar image AndrewHurley Apr 26 '17 at 04:11 PM

Hey Raildex_,

I am sorry, but it is really hard to tell what you are pointing out here. The only thing I am gathering is the difference between FXAA and TAA reflections showing up in the visualizer. What specifically do you mean when you say artifacts?


Andrew H

avatar image Raildex_ Apr 28 '17 at 01:28 PM

Uhm, do you see my screenshots?

Don't tell me it is INTENDED to look like garbage?

When AA is off and SSR is off, I see the Reflections how they should be. When AA is On and SSR is on, I either see no reflections (FXAA) or the SSR interferes with the Reflections of Reflectioncubes (TAA)

The Reflection Viewmode is used to adjust precomputed Reflections by Reflection Cubes. SSR shouldn't be shown in this viewmode.

Edit here's another screenshot with ssr.quality = 4 and TemporalAA.

alt text

Now tell me this is how the Viewport should look like.

unbenannt.jpg (260.8 kB)
(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

The Reflection viewmode overrides all normals to be the smooth vertex normal, and makes all surfaces fully specular and completely smooth (mirror like). Limitations and artifacts of the Reflection Environment are also clearly visible in this mode so it is important to switch to Lit periodically to see what the reflections look like in normal conditions (bumpy normals, varying glossiness, dim specular).

Reflections through this method are approximate. Specifically, the reflection of an object will rarely match up with the actual object in the level due to projection onto simple shapes. This tends to create multiple versions of that object in reflections as many cubemaps are being blended together. Flat, smooth surfaces that cause mirror reflections will show the error very noticeably. Use detail normal maps and roughness to help break up the reflection and these artifacts.

The cubemap reflection is mixed together with the lightmap indirect specular based on how rough the material is. A very rough material (fully diffuse) will converge on the lightmap result. This mixing is essentially combining the high detail part of one set of lighting data (cubemaps) with the low-frequency part of another set of lighting data (lightmaps). For this to work correctly, though, only indirect lighting can be in the lightmap. This means that only the indirect lighting from Stationary lights can improve the quality of reflections on rough surfaces. Static light types should not be used together with the Reflection Environment as they will put direct lighting in the lightmap. Note that this mixing with the lightmap also means that the map must have meaningful indirect diffuse lighting and that lighting must already be built to see results.

This was all taken straight from our documentation on the Reflection Environment which explains the issue you are describing in the limitations section, and gives solutions on how to work around the limitations to optimize your reflections.

Regarding the FXAA not looking correct, this is a known issue with FXAA, and the order in which things are applied when calculating screen space reflections work differently than that of Temporal AA. SSR as Temporal AA reflects the prior frame's screen color which has fog and translucency and reflections in it. SSR without Temporal AA reflects the frame buffer as it is rendered to that point. Fog, translucency and reflections haven't been rendered yet. Currently FXAA is not a priority as Temporal AA and MSAA are becoming a more commonly used anti-aliasing approach due to its high quality and lower performance cost.


Andrew Hurley

more ▼

answered May 01 '17 at 09:37 PM

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question