UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::TextureUtilitiesCommon::TPNGDataFill< PixelDataType, ColorDataType, RIdx, GIdx, BIdx, AIdx > Class Template Reference

Public Types

enum  { NearNeighborRadius = 4 }
 

Public Member Functions

 TPNGDataFill (int32 SizeX, int32 SizeY, uint8 *SourceTextureData)
 
void ProcessData (bool bDoOnComplexAlphaNotJustBinaryTransparency)
 
bool ProcessHorizontalRow (int64 Y)
 
void FillRowColorPixels (int64 FillColorRow, int64 Y)
 
ColorDataType GetFilledFromNearNeighbors (int64 CenterX, int64 CenterY) const
 
void FillFromNearNeighbors ()
 

Static Public Member Functions

static bool IsOpaque (const ColorDataType InColor)
 
static ColorDataType MakeColorWithZeroAlpha (const ColorDataType InColor)
 
static ColorDataType MakeColorOpaque (const ColorDataType InColor)
 
static FLinearColor MakeLinearColor (const ColorDataType InColor)
 
static ColorDataType MakeColorFromLinear (const FLinearColor InColor)
 

Public Attributes

PixelDataTypeSourceData
 
int64 TextureWidth
 
int64 TextureHeight
 
ColorDataType WhiteWithZeroAlpha
 
float NearNeighborWeights [NearNeighborRadius+1][NearNeighborRadius+1]
 

Detailed Description

template<typename PixelDataType, typename ColorDataType, int32 RIdx, int32 GIdx, int32 BIdx, int32 AIdx>
class UE::TextureUtilitiesCommon::TPNGDataFill< PixelDataType, ColorDataType, RIdx, GIdx, BIdx, AIdx >

This fills any pixels of a texture with have an alpha value of zero and RGB=white, with an RGB from the nearest neighboring pixel which has non-zero alpha.

PNG images with "simple transparency" (eg. indexed color transparency) don't store RGB color in the transparent area libpng decodes those pels are {RGB=white, A=0} we replace them by filling in the RGB from neighbors

note that this does NOT fill in the RGB of PNGs with a full alpha channel. -> it does now, if PNGInfill == Always

Member Enumeration Documentation

◆ anonymous enum

Enumerator
NearNeighborRadius 

Constructor & Destructor Documentation

◆ TPNGDataFill()

template<typename PixelDataType , typename ColorDataType , int32 RIdx, int32 GIdx, int32 BIdx, int32 AIdx>
UE::TextureUtilitiesCommon::TPNGDataFill< PixelDataType, ColorDataType, RIdx, GIdx, BIdx, AIdx >::TPNGDataFill ( int32  SizeX,
int32  SizeY,
uint8 SourceTextureData 
)
inlineexplicit

Member Function Documentation

◆ FillFromNearNeighbors()

◆ FillRowColorPixels()

template<typename PixelDataType , typename ColorDataType , int32 RIdx, int32 GIdx, int32 BIdx, int32 AIdx>
void UE::TextureUtilitiesCommon::TPNGDataFill< PixelDataType, ColorDataType, RIdx, GIdx, BIdx, AIdx >::FillRowColorPixels ( int64  FillColorRow,
int64  Y 
)
inline

◆ GetFilledFromNearNeighbors()

template<typename PixelDataType , typename ColorDataType , int32 RIdx, int32 GIdx, int32 BIdx, int32 AIdx>
ColorDataType UE::TextureUtilitiesCommon::TPNGDataFill< PixelDataType, ColorDataType, RIdx, GIdx, BIdx, AIdx >::GetFilledFromNearNeighbors ( int64  CenterX,
int64  CenterY 
) const
inline

◆ IsOpaque()

◆ MakeColorFromLinear()

template<typename PixelDataType , typename ColorDataType , int32 RIdx, int32 GIdx, int32 BIdx, int32 AIdx>
static ColorDataType UE::TextureUtilitiesCommon::TPNGDataFill< PixelDataType, ColorDataType, RIdx, GIdx, BIdx, AIdx >::MakeColorFromLinear ( const FLinearColor  InColor)
inlinestatic

◆ MakeColorOpaque()

◆ MakeColorWithZeroAlpha()

template<typename PixelDataType , typename ColorDataType , int32 RIdx, int32 GIdx, int32 BIdx, int32 AIdx>
static ColorDataType UE::TextureUtilitiesCommon::TPNGDataFill< PixelDataType, ColorDataType, RIdx, GIdx, BIdx, AIdx >::MakeColorWithZeroAlpha ( const ColorDataType  InColor)
inlinestatic

◆ MakeLinearColor()

◆ ProcessData()

template<typename PixelDataType , typename ColorDataType , int32 RIdx, int32 GIdx, int32 BIdx, int32 AIdx>
void UE::TextureUtilitiesCommon::TPNGDataFill< PixelDataType, ColorDataType, RIdx, GIdx, BIdx, AIdx >::ProcessData ( bool  bDoOnComplexAlphaNotJustBinaryTransparency)
inline

◆ ProcessHorizontalRow()

Member Data Documentation

◆ NearNeighborWeights

◆ SourceData

◆ TextureHeight

◆ TextureWidth

◆ WhiteWithZeroAlpha


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