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]
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]
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]
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]
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035
[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
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]
-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]
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]
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]
Can be overriden per-platform, for a specifc texture or texture group.
Downscaling will keep texure size divisible by 4 so they can still be compressed
#rb chris.bunner
#ROBOMERGE-SOURCE: CL 12400453 via CL 12400465 via CL 12400467
#ROBOMERGE-BOT: (v671-12333473)
[CL 12402238 by dmitriy dyomin in Release-Engine-Staging branch]
#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870584 by ryan durand in Main branch]
- An additional bit in the FTexturePlatformData next to the Cubemap bit is used to indicate whether the structure contains non-default OptData. Contents of the OptData field is only serialized when that bit is set.
- Platforms which do no make use of OptData will automatically not have that data in their cooked byte stream, as the values will remain default. Platform that do set those values will have the data included and the bit set.
#rb Paul.Chipchase
#jira UE-84435
#lockdown nick.penwarden
#ROBOMERGE-SOURCE: CL 10334591 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v594-10333955)
[CL 10334594 by luke thatcher in Main branch]
Platforms that do need the additional members should override FPlatformProperties::RequiresOptTextureData() to return true.
#rb Rolando.Caloca, Uriel.Doyon
#jira none
#ROBOMERGE-SOURCE: CL 9835488 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v546-9757112)
[CL 9835503 by luke thatcher in Main branch]
Runtime virtual texture uses streaming virtual texture to fill pages at distance
We recently moved to YCoCg encoding in the compressed base color texture to address visual quality issues
The runtime virtual texture used a per block scaling, but the offline generated streaming texture didn't
The offline texture looks much worse without the block scaling so that we see color artifacts in the distance before this change
[CODEREVIEW] Sebastien.Lussier
#ROBOMERGE-SOURCE: CL 9325494 via CL 9325668 via CL 9326152 via CL 9326166 via CL 9326179
#ROBOMERGE-BOT: (v455-9298202)
[CL 9326194 by jeremy moore in Main branch]