Files
UnrealEngine/Engine/Source/Editor/SparseVolumeTexture/Public/SparseVolumeTextureOpenVDBUtility.h
2025-05-18 13:04:45 +08:00

39 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#if WITH_EDITOR
#include "CoreMinimal.h"
namespace UE
{
namespace SVT
{
struct FTextureData;
}
}
struct FOpenVDBGridInfo;
enum class EOpenVDBGridType : uint8;
struct FOpenVDBToSVTConversionResult
{
struct FSparseVolumeAssetHeader* Header;
TArray<uint32>* PageTable;
TArray<uint8>* PhysicalTileDataA;
TArray<uint8>* PhysicalTileDataB;
};
bool IsOpenVDBGridValid(const FOpenVDBGridInfo& GridInfo, const FString& Filename);
bool SPARSEVOLUMETEXTURE_API GetOpenVDBGridInfo(TArray64<uint8>& SourceFile, bool bCreateStrings, TArray<FOpenVDBGridInfo>* OutGridInfo);
bool SPARSEVOLUMETEXTURE_API ConvertOpenVDBToSparseVolumeTexture(TArray64<uint8>& SourceFile, const struct FOpenVDBImportOptions& ImportOptions, const FIntVector3& VolumeBoundsMin, UE::SVT::FTextureData& OutResult, FTransform& OutFrameTransform);
const TCHAR* OpenVDBGridTypeToString(EOpenVDBGridType Type);
FString SPARSEVOLUMETEXTURE_API GetVDBSequenceBaseFileName(const FString& FileName, bool bDiscardNumbersOnly);
TArray<FString> SPARSEVOLUMETEXTURE_API FindOpenVDBSequenceFileNames(const FString& Filename);
#endif // WITH_EDITOR