2022-06-22 20:21:16 -04:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
|
#include "ImageCore.h"
|
|
|
|
|
#include "TextureCompressorModule.h" // for FTextureBuildSettings
|
2022-08-23 12:41:58 -04:00
|
|
|
#include "Interfaces/ITextureFormat.h"
|
2022-06-22 20:21:16 -04:00
|
|
|
|
|
|
|
|
/***
|
|
|
|
|
|
|
|
|
|
TextureBuildUtilities is a utility module for shared code that Engine and TextureBuildWorker (no Engine) can both see
|
|
|
|
|
|
|
|
|
|
for Texture-related functions that don't need Texture.h/UTexture
|
|
|
|
|
|
|
|
|
|
TextureBuildUtilities is hard-linked to the Engine so no LoadModule/ModuleInterface is needed
|
|
|
|
|
|
|
|
|
|
***/
|
|
|
|
|
|
|
|
|
|
namespace UE
|
|
|
|
|
{
|
|
|
|
|
namespace TextureBuildUtilities
|
|
|
|
|
{
|
|
|
|
|
|
2022-08-23 12:41:58 -04:00
|
|
|
namespace EncodedTextureExtendedData
|
|
|
|
|
{
|
|
|
|
|
TEXTUREBUILDUTILITIES_API FCbObject ToCompactBinary(const FEncodedTextureExtendedData& InExtendedData);
|
|
|
|
|
TEXTUREBUILDUTILITIES_API bool FromCompactBinary(FEncodedTextureExtendedData& OutExtendedData, FCbObject InCbObject);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
namespace EncodedTextureDescription
|
|
|
|
|
{
|
|
|
|
|
TEXTUREBUILDUTILITIES_API FCbObject ToCompactBinary(const FEncodedTextureDescription& InDescription);
|
|
|
|
|
TEXTUREBUILDUTILITIES_API bool FromCompactBinary(FEncodedTextureDescription& OutDescription, FCbObject InCbObject);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
namespace TextureEngineParameters
|
|
|
|
|
{
|
|
|
|
|
TEXTUREBUILDUTILITIES_API FCbObject ToCompactBinaryWithDefaults(const FTextureEngineParameters& InEngineParameters);
|
|
|
|
|
TEXTUREBUILDUTILITIES_API bool FromCompactBinary(FTextureEngineParameters& OutEngineParameters, FCbObject InCbObject);
|
|
|
|
|
}
|
|
|
|
|
|
2022-06-22 20:21:16 -04:00
|
|
|
TEXTUREBUILDUTILITIES_API bool TextureFormatIsHdr(FName const& InName);
|
|
|
|
|
|
|
|
|
|
// Removes platform and other custom prefixes from the name.
|
|
|
|
|
// Returns plain format name and the non-platform prefix (with trailing underscore).
|
|
|
|
|
// i.e. PLAT_BLAH_AutoDXT returns AutoDXT and writes BLAH_ to OutPrefix.
|
|
|
|
|
TEXTUREBUILDUTILITIES_API const FName TextureFormatRemovePrefixFromName(FName const& InName, FName& OutPrefix);
|
|
|
|
|
|
|
|
|
|
FORCEINLINE const FName TextureFormatRemovePrefixFromName(FName const& InName)
|
|
|
|
|
{
|
|
|
|
|
FName OutPrefix;
|
|
|
|
|
return TextureFormatRemovePrefixFromName(InName,OutPrefix);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEXTUREBUILDUTILITIES_API ERawImageFormat::Type GetVirtualTextureBuildIntermediateFormat(const FTextureBuildSettings& BuildSettings);
|
|
|
|
|
|
2022-08-23 12:41:58 -04:00
|
|
|
} // namespace TextureBuildUtilities
|
|
|
|
|
} // namespace UE
|