Solution for World Position in PostProcess Materials being affected/stretched by TAAU and ScreenPercentage?

Simply put, when using DLSS or when turning on TAAU and reducing the Screen Percentage, any Post Process Material using the blend location After Tonemapping will produce strange results.

It’s most quickly visible by simply plugging in Absolute World Position into the Emissive slot on a PPM and applying it to the PostProcess. Normally it would produce this at 0,0,0 world origin:

However with DLSS enabled, or with TAAU enabled and reducing the screen percentage, due to this screen percentage reduction happening after the Temporal Upsampling, the World Position becomes offset, and swing around bizarrely as the camera turns. As well, it’s clearly pixelated from the upsampling.
Essentially, what’s happening is it’s sampling the world position to pixel at the wrong step, using the wrong resolution?

See “Post Process Material after Temporal Upsample” Screen Percentage with Temporal Upsample | Unreal Engine Documentation to see how to get the Viewport UV before and after the upsampling occurs, however I am at a loss as to how that can be used to get the right world position per pixel.

I tried to reconstruct World Position and maybe plug in the upsampled Viewport UV into scene depth but I don’t think that’s how it works. The reconstructed World Position sort of produces the same effect (works without upsampling, breaks just the same with it)

Anyone able to help me on this? Thanks!

Hey. Yeah, you need to set the material Blendable Location to render “Before Tonemapping”. I had tried this but I thought it was too bright or looked weird, but actually it wasn’t weird like I thought. It was just causing my vector3 colours in the material to be, well, before tonemapping so I had to adjust them (generally they got very bright, so I just had to make them a darker shade.)

2 Likes

I’m having the same problem, did you find a fix to this ?

Yeah I figured that would be the answer, I was hoping to be able to do some post process tweaks masked by using world position after the tonemapper, but I guess that’s not how it’s intended to be used.

Sorry, just converted my response to you into an answer for anyone else looking to fix this.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.