Author Topic: FX-map problems on DX11 engine with floating point inputs  (Read 196 times)

The attached image shows my fx-map rendered using the DX11 engine on the left and the SSE engine on the right

There are clear issues here using the the DX11 engine - it's outputting Nans in some transparent areas and the transforms applied to the input image in a previous node are destroyed. The fx-map is using alpha blend for masking and is a single quadrant piped into an iterator

The artefacts appear to be connected to passing graphs that output floating point values into fx-maps.
I don't believe this to be a memory/resource issue and I don't think it's a necessarily a driver issue  as I'm seeing the same artefacts across two very different machines. 

Both machines have the latest version of Designer (2021.1.2), windows updates and so on.

they are..
amd laptop, integrated gpu (3200G iirc) 8gb ram (unknown driver version, not that old though)
amd 5950x, rtx 3080, 64gb ram (nvidia driver version 461.92)

I can work around this issue but it's nasty - I think we need proper support for floating point inputs in fx-maps

Hello @jellyk,

Thank you for reaching out to us!

I am interested in investigating this issue further. Can you please send me an SBS package which include a graph demonstrating the problem?

Feel free to send it out to me in a direct message if you prefer not to disclose the file publicly.

I appreciate your help and patience!

Best regards,
QA Analyst
Substance Designer Team

Hi Luca

I've attached an example to the post

to repro just change a parameter on the isometric_grid node after switching engine - it'll do something strange.

for me this one just renders the wrong colours but the exact artefacting seems to be fairly random

in the isometric_grid node, I have left some transform nodes detached that force the inputs to c16  - reconnecting these will solve the problem on the dx11 engine
Last Edit: March 30, 2021, 01:42:34 am

Hello @jellyk,

Thank you for following up on this issue, and providing an SBS package. It was very helpful for identifying the issue!

It appears the problem is caused by the use of mipmaps for filtering high precision Fx-Map input images when these are passed directly from Input nodes to the Fx-Map node. I could verify the following:
  • The issue does not occur is a node is connected between the Input nodes and the Fx-Map inputs
  • The issue does not occur if the Quadrant node in the Fx-Map graph has its Input image filtering property set to a value other than Bilinear + Mipmaps
  • The issue does not occur if the input image does not use floating point precision
  • The issue only appears from a specific mipmaps level
You can use these findings to implement easy workarounds while we work on fixing this issue. I appreciate your patience and thank you again for your valuable help!

Best regards,
QA Analyst
Substance Designer Team

That makes a lot of sense. 

Thanks for listing off the options.