Commit Graph

8 Commits

Author SHA1 Message Date
Julien StJean
35fcf99d86 Changed how the interchange texture factory test the non-power of two texture to reduce the code duplication and remove the config reads from ouside of the game thread.
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]
2022-04-27 15:02:17 -04:00
charles bloom
6786ffdffe start fixing texture import for very large textures
can now import 32K dim VT
disable broken PNG alpha fill on 16bit

#preflight 6243a450df7d23dbfef393dc
#rb fabian.giesen

[CL 19558522 by charles bloom in ue5-main branch]
2022-03-30 12:05:31 -04:00
charles bloom
04ffabc485 ImageWrapper and import/export refactor
FImage is now the standard preferred type for a bag of pixels
FImageView can point at pixels without owning an allocation
ERawImageFormat (FImage) converts to ETextureSourceFormat
FImageUtils provides generic load/save and get/set from FImage
major cleanup in the ImageWrappers
new preferred API is through ImageWrapperModule Compress/Decompress
SetRaw/GetRaw functions cleaned up to not have undefined behavior on unexpected formats
ImageWrapper output added for HDR,BMP,TGA
RGBA32F format added and supported throughout import/export
EditorFactories import/export made more generic, most image types handled the same way using FImage now
Deprecate old TSF RGBA order pixel formats
Fix many crashes or bad handling of unusual pixel formats
Pixel access functions should be used instead of switches on pixel type

#preflight 6230ade7e65a7e65d68a187c
#rb julien.stjean,martins.mozeiko,dan.thompson,fabian.giesen

[CL 19397199 by charles bloom in ue5-main branch]
2022-03-15 18:29:37 -04:00
Julien StJean
f795604086 Moved the default udim setup from a translator to the pipeline and with that also moved the responsability to generate the blocked payload into the interchange texture factory.
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]
2022-02-23 12:54:53 -05:00
aurel cordonnier
34f55d3a4a Merge from Release-Engine-Test @ 17946149 to UE5/Main
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17949667 by aurel cordonnier in ue5-main branch]
2021-10-27 15:14:40 -04:00
Julien StJean
1736abbd73 Interchange support properly multiple source files when creating or reimporting an asset.
#jira UETOOL-4041
#rb Alexis.Matte
#preflight 6127e3c7ec82960001cc366c

[CL 17358681 by Julien StJean in ue5-main branch]
2021-08-30 16:52:42 -04:00
Julien StJean
eefb0298b8 Added the test to validate if a texture is a normal map to the interchange generic pipeline.
Added some function to query the texture compiler to see if a texture is being compiled.

#jira UETOOL-3856
#rb Alexis.Matte
#preflight 61264df145848f0001473a6b

[CL 17318068 by Julien StJean in ue5-main branch]
2021-08-26 10:49:21 -04:00
Julien StJean
37ff995315 Adding UDIM support to the interchange framework.
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]
2021-01-22 12:20:21 -04:00