DEFINE_LOG_CATEGORY(LogTexture); #if STATS DECLARE_STATS_GROUP(TEXT("TextureGroup"),STATGROUP_TextureGroup); // Declare the stats for each Texture Group. #define DECLARETEXTUREGROUPSTAT(Group) DECLARE_MEMORY_STAT(TEXT(#Group),STAT_##Group,STATGROUP_TextureGroup); FOREACH_ENUM_TEXTUREGROUP(DECLARETEXTUREGROUPSTAT) #undef DECLARETEXTUREGROUPSTAT // Initialize TextureGroupStatFNames array with the FNames for each stats. FName FTextureResource::TextureGroupStatFNames[TEXTUREGROUP_MAX] = { #define ASSIGNTEXTUREGROUPSTATNAME(Group) GET_STATFNAME(STAT_##Group), FOREACH_ENUM_TEXTUREGROUP(ASSIGNTEXTUREGROUPSTATNAME) #undef ASSIGNTEXTUREGROUPSTATNAME }; #endif UTexture::FOnTextureSaved UTexture::PreSaveEvent; UTexture::UTexture(const class FPostConstructInitializeProperties& PCIP) : Super(PCIP) { SRGB = true; Filter = TF_Linear; #if WITH_EDITORONLY_DATA AdjustBrightness = 1.0f; AdjustBrightnessCurve = 1.0f; AdjustVibrance = 0.0f;
DEFINE_LOG_CATEGORY(LogTexture); #if STATS DECLARE_STATS_GROUP(TEXT("Texture Group"), STATGROUP_TextureGroup, STATCAT_Advanced); // Declare the stats for each Texture Group. #define DECLARETEXTUREGROUPSTAT(Group) DECLARE_MEMORY_STAT(TEXT(#Group),STAT_##Group,STATGROUP_TextureGroup); FOREACH_ENUM_TEXTUREGROUP(DECLARETEXTUREGROUPSTAT) #undef DECLARETEXTUREGROUPSTAT // Initialize TextureGroupStatFNames array with the FNames for each stats. FName FTextureResource::TextureGroupStatFNames[TEXTUREGROUP_MAX] = { #define ASSIGNTEXTUREGROUPSTATNAME(Group) GET_STATFNAME(STAT_##Group), FOREACH_ENUM_TEXTUREGROUP(ASSIGNTEXTUREGROUPSTATNAME) #undef ASSIGNTEXTUREGROUPSTATNAME }; #endif UTexture::FOnTextureSaved UTexture::PreSaveEvent; UTexture::UTexture(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { SRGB = true; Filter = TF_Default; #if WITH_EDITORONLY_DATA AdjustBrightness = 1.0f; AdjustBrightnessCurve = 1.0f; AdjustVibrance = 0.0f;
void FTextureLODSettings::Initialize( const FString& IniFilename, const TCHAR* IniSection ) { // look up the file object FConfigFile* ConfigFile = GConfig->FindConfigFile(IniFilename); if (ConfigFile) { // pass to the other initialize function Initialize(*ConfigFile, IniSection); } } void FTextureLODSettings::Initialize(const FConfigFile& IniFile, const TCHAR* IniSection) { // Read individual entries from a config file. #define GROUPREADENTRY(g) ReadEntry( g, TEXT(#g), IniFile, IniSection ); FOREACH_ENUM_TEXTUREGROUP(GROUPREADENTRY) #undef GROUPREADENTRY } /** * Returns the texture group names, sorted like enum. * * @return array of texture group names */ TArray<FString> FTextureLODSettings::GetTextureGroupNames() { TArray<FString> TextureGroupNames; #define GROUPNAMES(g) new(TextureGroupNames) FString(TEXT(#g)); FOREACH_ENUM_TEXTUREGROUP(GROUPNAMES) #undef GROUPNAMES
{ // Save the texture group LOD settings. WriteTextureLODGroupsToIni( IniSection ); GConfig->Flush( false, GEngineIni ); } /** * Writes all texture group LOD settings to the specified ini. * * @param IniSection The .ini section to save to. */ void FSystemSettingsData::WriteTextureLODGroupsToIni(const TCHAR* IniSection) { #define WRITETEXTURELODGROUPTOINI(Group) WriteTextureLODGroupToIni(Group, TEXT(#Group), IniSection); FOREACH_ENUM_TEXTUREGROUP(WRITETEXTURELODGROUPTOINI) #undef WRITETEXTURELODGROUPTOINI } /** * Returns a string for the specified texture group LOD settings to the specified ini. * * @param TextureGroupID Index/enum of the group * @param GroupName String representation of the texture group */ FString FSystemSettingsData::GetLODGroupString( TextureGroup TextureGroupID, const TCHAR* GroupName ) { const FExposedTextureLODSettings::FTextureLODGroup& Group = TextureLODSettings.GetTextureLODGroup(TextureGroupID); const int32 MinLODSize = 1 << Group.MinLODMipCount; const int32 MaxLODSize = 1 << Group.MaxLODMipCount;