Ejemplo n.º 1
0
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;
Ejemplo n.º 2
0
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;
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
{
	// 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;