Added the option to allow the import of non-power of two textures in the interchange generic texture pipeline.
Added some static assert to the interchange texture factory to help the long term maintenance.
Added some functions to the interchange texture 2d factory node to help the manipulation of udims source blocks.
Removed some texture translators since they can share their implementation. That also fixed the difference between interchange and the legacy factory.
Removed a copy of the raw source data for most of the image that are imported by the image wrappers (Tiff was already able to avoid the copy before that). This will greatly reduce the peak memory usage during the imports.
Fixed some other minor issues.
#jira UE-146448, UE-146450, UE-146715, UE-146718
#rb Alexis.Mate
#preflight 6269899ff97c319beba3575c
[CL 19944368 by Julien StJean in ue5-main branch]
Removed the with_engine defines from the texture factory nodes as those are no longer needed.
Made the texture factory node abstract to reflect the engine structure for those asset.
Removed the asset class attribute for the texture node as it is no longer needed.
#jira UETOOL-4711
#rb Alexis.Matte
#preflight 6216623cc152c67496d9d703
[CL 19094855 by Julien StJean in ue5-main branch]
I used a confidential dataset to benchmark the performence. 112 png files weighting 3.2 GB.
The old import system took 75.96 seconds to import the data while blocking the gamethread.
The Interchange system took 15.06 seconds to import the data whitout blocking the game thread, but my initial testing found that it resquested around 200 MB of memory then the old system. It's possible that this is due to the memory pool of each thread (it need investigation before jumping to that conclusion).
Those test where made using a machine with a Xeon E5-2643 (6 cores/ 12 Threads)
#rb Alexis.Matte
#jira UEENT-3845
[CL 15164350 by Julien StJean in ue5-main branch]