UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FVirtualTextureDataBuilder Class Reference

#include <VirtualTextureDataBuilder.h>

Public Member Functions

 FVirtualTextureDataBuilder (FVirtualTextureBuiltData &SetOutData, const FString &DebugTexturePathName, ITextureCompressorModule *InCompressor=nullptr, IImageWrapperModule *InImageWrapper=nullptr)
 
 ~FVirtualTextureDataBuilder ()
 
bool Build (FTextureSourceData &InSourceData, FTextureSourceData &InCompositeSourceData, const FTextureBuildSettings *InSettingsPerLayer, bool bAllowAsync)
 

Friends

struct FAsyncMacroBlockTask
 

Detailed Description

Helper class for building virtual texture data. This works on a set of FTextureSource objects. The idea is that if needed we can create FTextureSource without creating actual UTextures. This is why the builder should stay independent of UTexture. Things it does:

  • Splits texture into tiles
  • Preprocesses the tiles
  • Bakes mips
  • Does compression Note: Most of the heavy pixel processing itself is internally deferred to the TextureCompressorModule.

Data is cached in the BuilderObject so the BuildLayer call is not thread safe between calls. Create separate FVirtualTextureDataBuilder instances for each thread instead!

Current assumptions:

  • We can keep "at least" all the source data in memory. We do not do "streaming" conversions of source data.
  • Output can be "streaming" we don't have to keep all the data output in memory

Constructor & Destructor Documentation

◆ FVirtualTextureDataBuilder()

FVirtualTextureDataBuilder::FVirtualTextureDataBuilder ( FVirtualTextureBuiltData SetOutData,
const FString &  DebugTexturePathName,
ITextureCompressorModule InCompressor = nullptr,
IImageWrapperModule InImageWrapper = nullptr 
)

◆ ~FVirtualTextureDataBuilder()

FVirtualTextureDataBuilder::~FVirtualTextureDataBuilder ( )

Member Function Documentation

◆ Build()

bool FVirtualTextureDataBuilder::Build ( FTextureSourceData InSourceData,
FTextureSourceData InCompositeSourceData,
const FTextureBuildSettings InSettingsPerLayer,
bool  bAllowAsync 
)

Friends And Related Symbol Documentation

◆ FAsyncMacroBlockTask

friend struct FAsyncMacroBlockTask
friend

The documentation for this class was generated from the following file: