Loading...
Searching...
No Matches
HdStTextureUtils Class Reference

Helpers for loading textures. More...

#include <textureUtils.h>

Public Types

using ConversionFunction = void(*)(const void *src, size_t numTexels, void *dst)
 Converts given number of texels.
 

Static Public Member Functions

static HDST_API HgiFormat GetHgiFormat (HioFormat hioFormat, bool premultiplyAlpha)
 Get the Hgi format suitable for a given Hio format.
 
static HDST_API ConversionFunction GetHioToHgiConversion (HioFormat hioFormat, bool premultiplyAlpha)
 Returns the conversion function to return a HioFormat to the corresponding HgiFormat given by GetHgiFormat.
 
static HDST_API std::vector< HioImageSharedPtr > GetAllMipImages (const std::string &filePath, HioImage::SourceColorSpace sourceColorSpace)
 Get all mip levels from a file.
 
static HDST_API GfVec3i ComputeDimensionsFromTargetMemory (const std::vector< HioImageSharedPtr > &mips, HgiFormat targetFormat, size_t tileCount, size_t targetMemory, size_t *mipIndex=nullptr)
 
static HDST_API bool ReadAndConvertImage (HioImageSharedPtr const &image, bool flipped, bool premultiplyAlpha, const HgiMipInfo &mipInfo, size_t layer, void *bufferStart)
 
static HDST_API AlignedBuffer< uint8_t > HgiTextureReadback (Hgi *const hgi, HgiTextureHandle const &texture, size_t *bufferSize)
 Returns an unsigned byte buffer with data read back from texture.
 
template<typename T >
static AlignedBuffer< T > HgiTextureReadback (Hgi *const hgi, HgiTextureHandle const &texture, size_t *bufferSize)
 Returns a buffer with data of type T read back from texture.
 

Detailed Description

Helpers for loading textures.

Definition at line 48 of file textureUtils.h.

Member Typedef Documentation

◆ ConversionFunction

using ConversionFunction = void(*)(const void * src, size_t numTexels, void * dst)

Converts given number of texels.

Conversion can be in-place if the ends of the source and destination buffers align.

Definition at line 55 of file textureUtils.h.

Member Function Documentation

◆ GetAllMipImages()

static HDST_API std::vector< HioImageSharedPtr > GetAllMipImages ( const std::string &  filePath,
HioImage::SourceColorSpace  sourceColorSpace 
)
static

Get all mip levels from a file.

◆ GetHgiFormat()

static HDST_API HgiFormat GetHgiFormat ( HioFormat  hioFormat,
bool  premultiplyAlpha 
)
static

Get the Hgi format suitable for a given Hio format.

Premultiply alpha indicates whether a conversion function multiplying RGB with alpha should be created.

◆ GetHioToHgiConversion()

static HDST_API ConversionFunction GetHioToHgiConversion ( HioFormat  hioFormat,
bool  premultiplyAlpha 
)
static

Returns the conversion function to return a HioFormat to the corresponding HgiFormat given by GetHgiFormat.

Returns nullptr if no conversion necessary.

◆ HgiTextureReadback() [1/2]

static HDST_API AlignedBuffer< uint8_t > HgiTextureReadback ( Hgi *const  hgi,
HgiTextureHandle const &  texture,
size_t *  bufferSize 
)
static

Returns an unsigned byte buffer with data read back from texture.

◆ HgiTextureReadback() [2/2]

HdStTextureUtils::AlignedBuffer< T > HgiTextureReadback ( Hgi *const  hgi,
HgiTextureHandle const &  texture,
size_t *  bufferSize 
)
static

Returns a buffer with data of type T read back from texture.

Definition at line 169 of file textureUtils.h.


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