TexCoord, and ScreenPosition material expression now always return ViewportUV, and the Scene Texture expression only take ViewportUV has an input. However the conversion of ViewportUV to BufferUV is done within the SceneTexture expression itself for optimisation opportunities reasons, then using the underlying SceneTextureLookup() HLSL function.
The change from BufferUV to always use ViewportUV instead in material was backward compatible in the material API, most of the content that are not doing any fencyness with a custom material expression still works fine.
AFAIK, we never committed in backward compatibility of shader internals the users can access with a custom material expression. Here the content needs to be updated to convert ViewportUV to BufferUV as FHLSLMaterialTranslator::SceneTextureLookup() does.
The users of Custom nodes need to understand the responsibilities of using one when accessing renderer internals.
This issue does not occur in 4.18.3 but does occur in 4.19 and Main, making this a regression.
Per user:
I suspect there's an issue with custom expressions and sampling coordinates. It appears once a custom expression accesses a scene texture the coordinates are manipulated in some way.
Result: Post Process area only fills part of the editor viewport. Resizing viewport squashes and stretches the rendered image rather than uniformly scaling. See attached GIFs comparing behavior from 4.18 to 4.19.
Expected: Post Process effect will apply to entire viewport. Resizing viewport results in uniform scaling of image.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-57416 in the post.
7 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 4.19, 4.20 |
Target Fix | 4.20 |
Created | Apr 6, 2018 |
---|---|
Resolved | Apr 11, 2018 |
Updated | Apr 27, 2018 |