Commit Graph

56 Commits

Author SHA1 Message Date
Dan Thompson
0c889685e3 Updating the mip packing and tiling interfaces to not require image bits. This is required to determine memory layouts for textures prior to launching texture builds.
#rb fabian.geisen
#preflight 62a90ea9943e7bb256c39717

[CL 20659876 by Dan Thompson in ue5-main branch]
2022-06-14 19:00:42 -04:00
Dan Thompson
a508d784cb Provide access to mip counts prior to texture encode launch.
#rb fabian.geisen
#preflight 62a8f77f6373922cf49825ee

[CL 20658313 by Dan Thompson in ue5-main branch]
2022-06-14 17:23:56 -04:00
Devin Doucette
e5a3f1605e Texture: Renamed ForceRecompressDDCUID to CompressionCacheId
#preflight 626306c7f606b184f0a38bcb
#rb Zousar.Shaker

[CL 19901453 by Devin Doucette in ue5-main branch]
2022-04-25 09:27:12 -04:00
Devin Doucette
f4d87ef328 Texture: Fixed an uninitialized build setting that was causing the editor to crash with the new texture build path
#preflight 6262e1e0e87284a93cd7ba8e
#rb Zousar.Shaker
#rnx

[CL 19867722 by Devin Doucette in ue5-main branch]
2022-04-22 13:28:24 -04:00
charles bloom
41eefbfaa8 Texture ForceRecompressDDCUID to let you manually change the DDC key to get a rebuild
#preflight 62574aed7411b8ac6277fb57
#rb dan.thompson,fabian.giesen

[CL 19747951 by charles bloom in ue5-main branch]
2022-04-13 19:31:28 -04:00
charles bloom
be238dee17 fix failures on texture import of rare cases
fix RHI upload of textures that are multiple of 4 in top mip but not in lower mips
dont pad CompressedImage sizes, store true size
clean up Texture size limits and VT conditions
better default settings for texture import
clean up initialization order of TextureFormatManagerModule

#preflight 6250814a11261bc7b23d8f4b
#rb fabian.giesen,julien.stjean

[CL 19693287 by charles bloom in ue5-main branch]
2022-04-08 16:06:54 -04:00
martins mozeiko
b7ce1b7247 Adds option to use separable filter for generating mips.
This allows faster texture cooking, but introduces slight changes to newly computed pixel values.
Quality of texture mips stays the same, but values are different due to different order of floating-point operations.
To keep patch sizes small, use old same code as before for generating mips for existing textures - will use new filter only for saved textures.
Currently this setting is disabled for new textures by default. See comment in Texture.cpp how to enable it.

#rb charles.bloom fabian.giesen
#preflight 624c9d9a8d1db441a9137202

[CL 19630307 by martins mozeiko in ue5-main branch]
2022-04-05 16:10:56 -04:00
charles bloom
d5b7476357 make image copying to Pow22 gamma a warning and prevent callers from doing so
pow22 should old be used as a source gamma
dest gamma should always be srgb or linear

#preflight 62432a61df7d23dbfeeb57bc
#rb none

[CL 19543713 by charles bloom in ue5-main branch]
2022-03-29 12:16:51 -04:00
charles bloom
1ba296578e fix mip map gen on non power of 2 textures
also allow MaxTextureSize on non-pow2
no longer force TMGS_NoMipMaps on non-pow2

#preflight 6241f2badc6183e3f5d32332
#rb fabian.giesen

[CL 19530862 by charles bloom in ue5-main branch]
2022-03-28 14:32:21 -04:00
charles bloom
0ff3677e20 fix share Texture validation on Import code for all texture types
turns off mip maps for nonpow2 cubemaps
fixes check importing nonpow2 cubemaps

#preflight 623e6bfb6776a17c5b01e82f
#rb fabian.giesen

[CL 19520871 by charles bloom in ue5-main branch]
2022-03-25 21:43:09 -04:00
charles bloom
81695dcab8 deprecate crunch and zlib compression support on VT tiles
remove crunch use from engine

#rb fabian.giesen
#preflight 621bb341106e3d8da269ff37

[CL 19185785 by charles bloom in ue5-main branch]
2022-02-28 17:59:11 -05:00
charles bloom
ffc563cfbd Remove broken bDitherMipMapAlpha
Wasn't doing anything useful
It actually converted any non-zero alpha to full opaque
almost the opposite of what it claimed to do
Simplify the option set by removing useless options rather than fix it

#preflight 620bb7ed4353dc61c7f5c771
#rb dan.thompson,fabian.giesen

[CL 19005593 by charles bloom in ue5-main branch]
2022-02-15 17:40:14 -05:00
charles bloom
52b23c8d20 clean up the mess caused by AlphaCoverageThresholds
AlphaCoverageThresholds was accidentally enabled for all textures with thresholds = {0,0,0,1}
add new Texture bool bDoScaleMipsForAlphaCoverage
to make toggling coverage processing very clear
on old Textures that don't have the bDoScaleMipsForAlphaCoverage field, we can infer the correct value except in the case that threshold = {0,0,0,1} , in that case it's impossible to tell if it's wanted or not.  There we look up a config value "EnableLegacyAlphaCoverageThresholdScaling"
Current config has EnableLegacyAlphaCoverageThresholdScaling=1
so the legacy bad behavior is maintained

#rb fabian.giesen,julien.stjean
#preflight 6205c4050d0c8cd8aba6dd9d

[CL 18952713 by charles bloom in ue5-main branch]
2022-02-11 10:48:52 -05:00
zousar shaker
4a4295dff0 Fix inconsistent serialization of floating point vectors in FTextureBuildSettings triggered by LWC. Always use float (not double) precision for these vectors.
Fix legacy DDC key generation for textures to always use double (not float) precision when composing the key.

#jira UE-139194
#rb devin.doucette
#preflight 61e5931687389804e5640da9

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18633504 in //UE5/Release-5.0/... via CL 18633518 via CL 18633528
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18637381 by zousar shaker in ue5-main branch]
2022-01-18 04:31:25 -05:00
charles bloom
5966ccc2de remove TextureCompressor UsesTaskGraph query
not used and should not be used
clean up some todo comments in TextureFormatOodle

#preflight 61ba4ca5055f3013459c0a02
#rb none

#ROBOMERGE-AUTHOR: charles.bloom
#ROBOMERGE-SOURCE: CL 18471288 in //UE5/Release-5.0/... via CL 18471293
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18471295 by charles bloom in ue5-release-engine-test branch]
2021-12-15 16:45:31 -05:00
charles bloom
64fc29ad3a versioned Oodle Texture encode
Texture uasset stores OodleTextureSdkVersion to use
legacy assets load with None
new textures automatically set version to latest
allows updating Oodle Texture Sdk without creating patches
new prefs:
[AlternateTextureCompression]
TextureCompressionFormatWithVersion
OodleTextureSdkVersionToUseIfNone

#rb dan.thompson,devin.doucette

#ROBOMERGE-AUTHOR: charles.bloom
#ROBOMERGE-SOURCE: CL 18456277 in //UE5/Release-5.0/... via CL 18456284
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v898-18417669)

[CL 18456295 by charles bloom in ue5-release-engine-test branch]
2021-12-14 13:04:03 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
eric renaudhoude
262fa16f9f Color Management: Adding (advanced) source encodings for textures.
#rb rod.bogart
#jira none
#preflight 6143e5484778fa00017df627

#ROBOMERGE-AUTHOR: eric.renaudhoude
#ROBOMERGE-SOURCE: CL 17547199 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17547204 by eric renaudhoude in ue5-release-engine-test branch]
2021-09-16 22:14:03 -04:00
charles bloom
e1b4815c8b clean up fast texture encode option with explicit -fasttextureencode option
stop using "with editor" to mean "fast texture encode"

#rb devin.doucette,dan.thompson

#ROBOMERGE-SOURCE: CL 17205139 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17205157 by charles bloom in ue5-release-engine-test branch]
2021-08-17 16:24:17 -04:00
alexander suvorov
7c699ad11b Use proper argument types in ITextureCompressorModule::GenerateBaseCubeMipFromLongitudeLatitude2D.
#rb none

[CL 16548875 by alexander suvorov in ue5-main branch]
2021-06-03 12:46:35 -04:00
Zousar Shaker
35cb1325a8 -Avoid having dependency on Engine by TextureFormatOodle by avoiding use of UTexture and getting
-Add mechanism for ITextureFormat to have a generic and private "FormatSettings" block that can be global, but also exported with a texture build action and applied when a texture build is executed remotely.  Also ensure that ChildTextureFormat is able to split and store/read the format settings for Child & Base format as separate sub-items.
-Allow the PS5TextureBuildWorker to compile in Oodle if the plugin is present and enabled.

#rb charles.bloom

[CL 16406838 by Zousar Shaker in ue5-main branch]
2021-05-20 14:19:29 -04:00
charles bloom
191775b588 TextureFormatOodle : expose compress effort level as a config param
make optional different level and rdo setting for in-editor / not-in-editor
pass through in-editor platform info in texture build setting
remove the bEnableInEditor from AlternateTexture , we want Oodle always on

#rb josh.adams, danny.couture

[CL 16081013 by charles bloom in ue5-main branch]
2021-04-21 16:43:56 -04:00
Jeremy Moore
4298fbf748 Add flag to support texture build not stripping the alpha channel.
This has a single use case: We build streaming virtual textures from runtime virtual textures and we want to ensure the format doesn't change just because the alpha channel is all 1.
#jira none
#rb danny.couture

[CL 15275121 by Jeremy Moore in ue5-main branch]
2021-02-01 17:30:41 -04:00