104 Commits

Author SHA1 Message Date
vedang javdekar
1398c02100 Add support for importing .tx texture file format
- Added overloads for ImageWrappers to add meta information about sub images
- TX images are handled through libTIFF.
- TiffImageWrapper handles more than one directories in the TIFF file

#jira UE-177460
#rb JeanLuc.Corenthin, Julien.StJean

[CL 35836696 by vedang javdekar in ue5-main branch]
2024-08-27 16:34:49 -04:00
charles bloom
4696799144 ImageCore: fix check in ResizeImage when source is Pow22 and dest gamma was not specified (dest cannot be pow22)
[CL 34100824 by charles bloom in ue5-main branch]
2024-06-04 14:09:16 -04:00
charles bloom
6dd790cfd6 Factoring out duplicated ShouldTextureBeVirtualByAutoImportSize logic in texture import code
#rb fabian.giesen

[CL 33215561 by charles bloom in ue5-main branch]
2024-04-24 18:10:48 -04:00
charles bloom
837e868b5e Texture UEDelta filter to replace PNG filter
Simple North/Up pixel filter
parallel, simd
removes slow call into ImageWrapper just to run the PNGz0 filter
UEDelta works for udim, cubes, all pixel formats, there are no limitations or corner cases
#jira UE-181911
#rb fabian.giesen

[CL 32654283 by charles bloom in ue5-main branch]
2024-04-01 18:31:48 -04:00
eric renaudhoude
e34f40ba3e ColorManagement: Remaining deprecation of headers & color management module, since they were moved to Core at CL 32299544.
#jira UE-201221
#rb Sebastien.Hillaire
#rnx

[CL 32470542 by eric renaudhoude in ue5-main branch]
2024-03-25 11:04:55 -04:00
charles bloom
25902e7c82 ImageCore: ResizeImage add option to do alpha-weighted resize filter
[CL 32097858 by charles bloom in ue5-main branch]
2024-03-07 15:08:54 -05:00
charles bloom
8d76e1c458 ImageCore: more resize filter options (Lanczos)
make DownscaleOptions Default pass through without changing to SimpleAverage for new filters
map DownscaleOptions to better resize filters
#rb Dan.Thompson, fabian.giesen

[CL 31916433 by charles bloom in ue5-main branch]
2024-02-29 13:40:21 -05:00
charles bloom
954c355294 ImageParallelFor: avoid TArray iterator
[CL 31871008 by charles bloom in ue5-main branch]
2024-02-28 10:09:19 -05:00
charles bloom
7dcd51da85 ImageCore::CopyImage TempLinear path, use per-line temp row, not whole image temp surface
#rb fabian.giesen

[CL 31869355 by charles bloom in ue5-main branch]
2024-02-28 08:36:00 -05:00
charles bloom
4b4e8649bd TextureCompressorModule::GetOutputAlphaFromKnownAlphaOrFallback to clean up common patterns of trying to query alpha
TextureFormatOodle : yes you can free the float mip immediately because hashing is no longer on an async task
FImage::FreeData with async detach option
validate VT sizes better to prevent crashes

#jira UE-183888

#rb dan.thompson, fabian.giesen

[CL 31815947 by charles bloom in ue5-main branch]
2024-02-26 16:02:58 -05:00
charles bloom
8f89cca029 ImageCore CopyImage clean up excessive insights trace spew
[CL 31085963 by charles bloom in ue5-main branch]
2024-02-01 09:21:16 -05:00
marc audy
19e84555b3 Silence PVS warnings
[CL 30653812 by marc audy in ue5-main branch]
2024-01-17 01:34:02 -05:00
joe kirchoff
bc8e4bd625 Use module reference for AtomicQueue
#rnx

[CL 30443352 by joe kirchoff in ue5-main branch]
2023-12-22 14:29:08 -05:00
charles bloom
3a4e13401f ImageCore ScaleChannelsSoMinMaxIsInZeroToOne replicates the behavior of the RenderTarget UNorm ReadPixels modifier
scales image outside [0,1] so that it is inside
uses ImageParallelFor

#rnx

[CL 30130491 by charles bloom in ue5-main branch]
2023-12-05 15:01:49 -05:00
charles bloom
f0b2130e97 Replace use of TAsyncAlphaWrite with a simple call to SetAlphaOpaque
Remove format switches from client code so support of all formats is automatic
Use existing ImageCore SetAlphaOpaque
template header functions are now unused

#rnx
#rb fabian.giesen

[CL 30102919 by charles bloom in ue5-main branch]
2023-12-04 19:21:33 -05:00
charles bloom
b066d4c0b3 TextureRenderTarget clean up Create/Update not supporting all formats
use generic routines so all-format support is automatic
#rb fabian.giesen

[CL 30070416 by charles bloom in ue5-main branch]
2023-12-03 10:39:38 -05:00
charles bloom
119e20200d Texture Source resizing followups
ResizeImage support wrap/clamp edge mode on X and Y
ResizeImage fix Pow22 source is SRGB dest
TextureSource resizer detect cases that are poorly handled by TextureCompressorModule and use ResizeImage instead (eg. latlong, stretch)

#rb fabian.giesen

[CL 29923273 by charles bloom in ue5-main branch]
2023-11-24 14:55:47 -05:00
charles bloom
a28110c057 ImageCore ResizeImage support resizing slices if slices count is the same
#rb fabian.giesen
#rnx

[CL 29247303 by charles bloom in ue5-main branch]
2023-10-30 16:16:10 -04:00
charles bloom
d3515bfe79 ImageCore::ResizeImage good quality and fast resizer using stb_image_resize2
old ResizeTo should be avoided except to preserve legacy behavior

#jira UE-163527
#rb dan.thompson,jeff.roberts
#rnx

[CL 29243470 by charles bloom in ue5-main branch]
2023-10-30 15:10:33 -04:00
dan thompson
bb9bc58b72 CPU accessible textures
#rb fabian.giesen
#rb charles.bloom

[CL 26655002 by dan thompson in ue5-main branch]
2023-07-27 16:46:23 -04:00
henrik karlsson
5db685f97d [Engine]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds

[CL 26082269 by henrik karlsson in ue5-main branch]
2023-06-17 18:13:06 -04:00
charles bloom
8986fb9d58 ImageParallelFor ComputeImageLinearAverage remove unnecessary CritSec
#rb none
#rnx

[CL 26075053 by charles bloom in ue5-main branch]
2023-06-16 18:59:30 -04:00
charles bloom
5e04696773 ImageParallelFor for easy parallel work on pixels
ImageParallelProcessLinearPixels
ComputeImageLinearAverage
Make Bokeh computation use the new routines as a test

#rb fabian.geisen
#rnx

[CL 26073510 by charles bloom in ue5-main branch]
2023-06-16 18:12:53 -04:00
charles bloom
0d75f73521 ImageCore.build.cs clarifying comment
#rb none
#rnx

[CL 25798720 by charles bloom in ue5-main branch]
2023-06-05 14:21:22 -04:00
charles bloom
152edc496d ImageCoreUtils::IsImageImportPossible can be checked before image import instead of after
#rb none
#rnx

[CL 25792081 by charles bloom in ue5-main branch]
2023-06-05 10:47:00 -04:00