Skip to main content

EncoderBC67

The EncoderBC67 class provides GPU-based texture compression using BC6H and BC7 formats, supporting high dynamic range (HDR) and standard color data encoding in both signed and unsigned formats.

#include <graphics/TellusimEncoderBC67.h>

Constructors

EncoderBC67()

Methods

Clear encoder.

void clear()

Check encoder.

bool isCreated(Mode mode) const

Create encoder.

bool create(const Device &device, Mode mode)
bool create(const Device &device, Flags flags)

Dispatch texture encoder.

bool dispatch(Compute &compute, Mode mode, Texture &dest, Texture &src, Slice dest_slice, Slice src_slice, uint32_t components = 4) const
bool dispatch(Compute &compute, Mode mode, Texture &dest, Texture &src, Slice src_slice, uint32_t components = 4) const
bool dispatch(Compute &compute, Mode mode, Texture &dest, Texture &src, uint32_t components = 4) const
TypeNameDescription
EncoderBC67::ModemodeCompression mode.
TexturedestDestination proxy texture.
TexturesrcSource texture to compress.
Slicedest_sliceDestination texture slice.
Slicesrc_sliceSource texture slice.
uint32_tcomponentsNumber of components.

Enums

Mode

Encoder modes.

NameValue
ModeBC6RGBf16s0
ModeBC6RGBf16u1
ModeBC7RGBAu8n2
NumModes3

Flags

Encoder flags.

NameValue
FlagNone0
FlagBC6RGBf16s(1 << ModeBC6RGBf16s)
FlagBC6RGBf16u(1 << ModeBC6RGBf16u)
FlagBC7RGBAu8n(1 << ModeBC7RGBAu8n)
FlagCube(1 << (NumModes + 1))
FlagsAll(FlagBC6RGBf16s | FlagBC6RGBf16u | FlagBC7RGBAu8n)