Wrong UV coordinates in Custom node

Hi,

I’ve taken screens below in UE4.19P6 but its the same as in 4.18 also.

The problem is using this code in Custom node in the material editor

return  SceneTextureLookup(UV.xy,14,true);

doesn’t give the same result as using the SceneTexture:PostProcessInput0 node.

Repro steps:

1- Create a new material

2- Change its domain to Post Processing

3- Create a new “Custom” node

4- Insert this line to it: return SceneTextureLookup(UV.xy,14,true);

5- Create a new Input for Custom node with a name “UV” and feed it with “Texture Coordinates” node

6- Create a new Input for Custom node with a name “SceneTexture” and feed it with “SceneTexture (PostProcessInput0)” node

7- Connect the Custom node’s output to Materials Emissive slot

Check attached images, please.

Best.

1 Like

Hello,

We’ve recently made a switch to a new bug reporting method using a more structured form. Please visit the link below for more details and report the issue using the new Bug Submission Form. Feel free to continue to use this thread for community discussion around the issue.

https://forums.unrealengine.com/unreal-engine/announcements-and-releases/1410408-unreal-engine-bug-submission-form

Thanks

Ok done. Thanks.

Hi Jeff,

I think my last comment didn’t arrive. Can you share my issue ID here, so I can track its progress?

Thanks.

I’ve sent this as a bug report, second time since I couldn’t find it on Issue platform. I really don’t get it why can’t we able to track our reports in first place.

So after hours of investigation I think I’ve found a workaround for this. Instead of using raw UV input inside the Custom node, you’ll need to use a helper function for filtering the fed UV, So:

Instead of this:

return  SceneTextureLookup(UV,14,true);

Use this:

return  SceneTextureLookup(ViewportUVToSceneTextureUV(UV,14),14,true);

Still considering this as a bug though.

2 Likes

This issue has been resolved as By Design.

From the Developer Note on the issue:

Here the content needs to be updated to convert ViewportUV to BufferUV as FHLSLMaterialTranslator::SceneTextureLookup() does.

Like @SumFX did, Epic could at least say HOW to update the content. Or the name of the file containing the FHLSLMaterialTranslator::SceneTextureLookup() source. Because it’s not easy to dig into the shader source files to find some specific method.

Thanks for this! I’ve been fighting this bug for ~2 years already and every couple of major versions Epic breaks screen texture lookup sampling. Why so is beyond my understanding (and you won’t find any instructions on how to do it properly). You’ve saved me from headache this time.

Hi all,
I’m getting this issue in UE 4.20.0 SumFX’s fix still works too (which is super appreciated, thank you!)

You are my hero :smiley:

Really, really thank you!!

You saved my life :wink: Btw,the year is 2021 and I am curious to know why the regular UV input in PostProc material doesn’t provide non scaled UVs of the screen quad in such a case.

You saved my life! Thanks dude!

Wow.

I arrived at the same workaround today as well, took a few hours.