Commit Graph

112 Commits

Author SHA1 Message Date
eric renaudhoude
6d1d929dd8 EXR: Minimum support for writing the working color space chromaticities attribute.
#jira UE-168814
#rb rod.bogart, matt.hoffman
#preflight 6361422b2b5338aceb4483a0

[CL 22912865 by eric renaudhoude in ue5-main branch]
2022-11-02 09:15:43 -04:00
joshua boren
8f26524ecb Handle missing error handling case for FPngImageWrapper
#jira: FORT-521923
[REVIEW] [at]nathan.green [at]josh.may [at]kevin.hamilton [at]corey.kolek [at]kris.pelley

[CL 22581675 by joshua boren in ue5-main branch]
2022-10-17 17:59:40 -04:00
charles bloom
dec7aac9b6 BmpImageWrapper support 16 bit bmp like 555 and 565
also import A channel from 32-bit BI_RGB
now loads all formats that photoshop "advanced" outputs

#preflight 634db8d6820aa0c193f8a81f
#rb fabian.giesen

[CL 22577459 by charles bloom in ue5-main branch]
2022-10-17 16:43:23 -04:00
charles bloom
9529396e69 BmpImageWrapper hardening
also fix several cases where bmp image data was imported wrong

#jira UE-166510
#preflight 63460910b757820b7aa5855c
#rb fabian.giesen
#lockdown jeanmichel.dignard

[CL 22480931 by charles bloom in ue5-main branch]
2022-10-12 12:52:09 -04:00
fabian giesen
910404ad86 HdrImageWrapper major cleanups and validation fixes
1. Fix header parsing to check for actual header termination (blank line)
2. Header lines are only ever terminated by LF, never CR. Treat NUL as error.
3. The only supported pixel layout is -Y <Height> +X (the default). Require that explicitly.
4. Require that widths and heights be positive and enforce a maximum image size
5. Fix several potential integer overflows
6. Fix several potential out-of-bounds reads/writes
7. Don't cast possibly unaligned uint8 pointers to FColor*
8. Fix potential UB when shift amount in old RLE encoding gets large
9. Don't allow runs as first thing in an old-RLE scan line, since they want to repeat the prev pixel
10. Factor out a lot of the error handling code, make sure error messages get logged
11. Fix several typos while I'm here

#jira UE-166514
#jira UE-166515
#jira UE-166516
#jira UE-166551
#preflight 6345d5bef93be0f634181cb9

[CL 22479168 by fabian giesen in ue5-main branch]
2022-10-12 11:19:42 -04:00
charles bloom
7a2281f8e2 FDdsImageWrapper restrict to 2D only
more complex DDS is imported through the ImportDDS path in EditorFactories
FDdsImageWrapper is only load for generic image loading and fallback path

#rb fabian.giesen
#preflight none

[CL 22409163 by charles bloom in ue5-main branch]
2022-10-07 16:44:20 -04:00
charles bloom
5db1898a6b ImageWrapper.h check format set in GetRaw to Array
could be invalid if SetCompressed failed

#rb none
#preflight none

[CL 22376193 by charles bloom in ue5-main branch]
2022-10-06 11:04:37 -04:00
benjamin rouveyrol
4973907beb Add EXR support for screenshots
Add various functions to use FLinearColor in addition to FColor
Add support for EXR on platforms supporting HDR, but not openexr. This is driven by WITH_UNREALEXR_MINIMAL: the screenshot will not be compressed, only writes are supported, only RGBA float32 is supported as input (FLinearColor), and output will be RGB float16.
The convention used is ScRGB, not BT2100-PQ to store the HDR data, since the viewers I tested with were expecting ScRGB .

tested (both png and exr):
Editor d3d11/d3d12: F9 / highresshot 2 / High Resolution Screenshot Tool w/ and w/o Custom Depth Mask, w/ and w/o Buffer attributes / Trace.Screenshot
Game: shot / shot -showui / highresshot 2 / BugScreenShot / BugScreenShotWithHUDInfo (but HandleBugScreenShot is empty) / Trace.Screenshot / Trace.Screenshot w/ ui

What doesn't work : ScreenshotCapturedDelegate.Broadcast in HDR

#jira UE-140227
#rb charles.bloom eric.renaudhoude david.harvey
#preflight 63359b01691c0168b74151f2

[CL 22327553 by benjamin rouveyrol in ue5-main branch]
2022-10-04 03:25:56 -04:00
charles bloom
7cfcc846dc IcnsImageWrapper was not setting image properties in SetCompressed, causing crash in GetRawImage
#jira UE-165364
#rb Richard.Wallis
#preflight 6335b1fbd165c45137a2620e

[CL 22263083 by charles bloom in ue5-main branch]
2022-09-30 00:45:16 -04:00
benjamin rouveyrol
fbc7fb31f9 [Backout] - CL22202479
#fyi benjamin.rouveyrol
Original CL Desc
-----------------------------------------------------------------
Add EXR support for screenshots

Add various functions to use FLinearColor in addition to FColor
Add support for EXR on platforms supporting HDR, but not openexr. This is driven by WITH_UNREALEXR_MINIMAL: the screenshot will not be compressed, only writes are supported, only RGBA float32 is supported as input (FLinearColor), and output will be RGB float16.
The convention used is ScRGB, not BT2100-PQ to store the HDR data, since the viewers I tested with were expecting ScRGB .

tested (both png and exr):
Editor d3d11/d3d12: F9 / highresshot 2 / High Resolution Screenshot Tool w/ and w/o Custom Depth Mask, w/ and w/o Buffer attributes / Trace.Screenshot
Game: shot / shot -showui / highresshot 2 / BugScreenShot / BugScreenShotWithHUDInfo (but HandleBugScreenShot is empty) / Trace.Screenshot / Trace.Screenshot w/ ui

What doesn't work : ScreenshotCapturedDelegate.Broadcast in HDR

#jira UE-140227
#rb charles.bloom eric.renaudhoude
#preflight 63316dbec7791417aa5e7d51 6331600c671a1a24b5fbb4b8 6332b5dda907d7192f1b2711

[CL 22205685 by benjamin rouveyrol in ue5-main branch]
2022-09-27 10:23:05 -04:00
benjamin rouveyrol
9dac3e9f7f Add EXR support for screenshots
Add various functions to use FLinearColor in addition to FColor
Add support for EXR on platforms supporting HDR, but not openexr. This is driven by WITH_UNREALEXR_MINIMAL: the screenshot will not be compressed, only writes are supported, only RGBA float32 is supported as input (FLinearColor), and output will be RGB float16.
The convention used is ScRGB, not BT2100-PQ to store the HDR data, since the viewers I tested with were expecting ScRGB .

tested (both png and exr):
Editor d3d11/d3d12: F9 / highresshot 2 / High Resolution Screenshot Tool w/ and w/o Custom Depth Mask, w/ and w/o Buffer attributes / Trace.Screenshot
Game: shot / shot -showui / highresshot 2 / BugScreenShot / BugScreenShotWithHUDInfo (but HandleBugScreenShot is empty) / Trace.Screenshot / Trace.Screenshot w/ ui

What doesn't work : ScreenshotCapturedDelegate.Broadcast in HDR

#jira UE-140227
#rb charles.bloom eric.renaudhoude
#preflight 63316dbec7791417aa5e7d51 6331600c671a1a24b5fbb4b8 6332b5dda907d7192f1b2711

[CL 22202479 by benjamin rouveyrol in ue5-main branch]
2022-09-27 05:10:20 -04:00
charles bloom
476fb7c032 fix EngineTest failing to load its project thumbnail
fix ExternalImagePicker image loading code to use modern method
fix IcoImageWrapper was not setting BitDepth

#preflight 6331bf11b20e73a09833dfa9
#rb fabian.giesen

[CL 22191984 by charles bloom in ue5-main branch]
2022-09-26 15:26:25 -04:00
brian smith
33f5a91f02 When SetRaw() is called with a InBytesPerRow that isn't tightly packed, we copy the buffer row-by-row to make it tightly packed. The typical, non-strided SetRaw still does just one MemCpy call of the entire buffer.
#jira UE-150719
#rb charles.bloom, david.hibbitts
#preflight 632ac0c0fc7f1efbdf84c7fb

[CL 22112847 by brian smith in ue5-main branch]
2022-09-21 10:43:55 -04:00
Richard Wallis
22360bd67a Fix for FIcnsImageWrapper not handling 24bit images. Affected the auto screen shot loading in the Project settings window. Should fix the FSlateTexture2DRHIRef::InitDynamicRHI crash we are seeing on macOS in the editor when opening that settings window. Add check in FSlateTexture2DRHIRef::InitDynamicRHI to catch source data size not large enough for copy operation.
#jira UE-153541
#review-21895098 @zack.neyland, @charles.bloom, @Mihnea.Balta
#preflight 631b327cd31788ea3a9561e3

[CL 21961611 by Richard Wallis in ue5-main branch]
2022-09-12 05:16:05 -04:00
bryan sefcik
07894f4a07 Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631a717cec45fbf3d74d4ba7

[CL 21916033 by bryan sefcik in ue5-main branch]
2022-09-09 00:53:22 -04:00
charles bloom
fa18ff089d Better PNGDataFill that uses higher quality nearest neighbor up to a radius of 4 pels
also clarify when it is used and log about it : only on simple transparency, not on alpha channels
also fix PNG loader was not correctly loading transparency mask on non-palettized RGB 3-channel images

#preflight 63115b2ec63cebc28020f8b4
#rb fabian.giesen
#jira UE-161537

[CL 21768022 by charles bloom in ue5-main branch]
2022-09-02 17:22:07 -04:00
Balazs Toereki
64b790d3f5 Fixing missing texture post gltf import.
By adding support for bitdepth 1,2,4
(GLTF had png textures with bit depth of 1 and 2)

#jira UE-159545
#rb JeanLuc.Corenthin
#preflight 62d8d3354b6d775f5fd13314

[CL 21197933 by Balazs Toereki in ue5-main branch]
2022-07-21 01:17:26 -04:00
Bryan sefcik
b4a6e947d8 Ran IWYU on Public headers under Engine/Source/Runtime/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira

#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 21181076 by Bryan sefcik in ue5-main branch]
2022-07-20 11:31:36 -04:00
bryan sefcik
c5ff51b3cc Removed ImageWrapper private pch.
Timing when compiling module with PCH(including compiling PCH): 8.47 secs
Timing using shared PCH: 6.43 secs
#preflight 62a8d1a5a43e20b2935510e9

[CL 20654490 by bryan sefcik in ue5-main branch]
2022-06-14 14:56:51 -04:00
charles bloom
dabdaeda09 nop just comment cleanups
#rb none
#preflight none

[CL 20284987 by charles bloom in ue5-main branch]
2022-05-19 15:04:56 -04:00
charles bloom
d96ed2d532 TiffImageWrapper fix importing floating point gray images as integer
add support for F32 float import without conversion
fix incorrect quantizer in color conversion

#rb fabian.giesen
#preflight 627461351e4246d26acdde55

[CL 20073801 by charles bloom in ue5-main branch]
2022-05-06 07:06:42 -04:00
charles bloom
b180322da2 PngImageWrapper detect unsupported formats and return failure rather than crash
#rb none
#preflight none

[CL 20067271 by charles bloom in ue5-main branch]
2022-05-05 19:36:44 -04:00
charles bloom
578f1d4048 Add TSF_R32F single channel float texture source format
#preflight 6272ecc3e73769b67fe88db9
#rb dan.thompson,fabian.giesen

[CL 20064522 by charles bloom in ue5-main branch]
2022-05-05 16:58:24 -04:00
charles bloom
838dacf67f EditorFactories cleanup some todo marks
#preflight 6250cd0d59286815c230b127
#rb none

[CL 19699094 by charles bloom in ue5-main branch]
2022-04-08 20:10:09 -04:00
charles bloom
65e8951b66 remove imagewrapper srgb todo notes and comment to clarify existing behavior
#rb none
#preflight 62421591292f228e09d5a8b1

[CL 19532530 by charles bloom in ue5-main branch]
2022-03-28 16:18:22 -04:00