Skip to main content

EncoderASTC

The EncoderASTC class provides a compute-based interface for compressing textures into ASTC formats with support for 4x4, 5x4, and 5x5 block sizes in RGBAu8n format.

#include <graphics/TellusimEncoderASTC.h>

Constructors

EncoderASTC()

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
EncoderASTC::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
ModeASTC44RGBAu8n0
ModeASTC54RGBAu8n1
ModeASTC55RGBAu8n2
NumModes3

Flags

Encoder flags.

NameValue
FlagNone0
FlagASTC44RGBAu8n(1 << ModeASTC44RGBAu8n)
FlagASTC54RGBAu8n(1 << ModeASTC54RGBAu8n)
FlagASTC55RGBAu8n(1 << ModeASTC55RGBAu8n)
FlagCube(1 << (NumModes + 1))
FlagsAll(FlagASTC44RGBAu8n | FlagASTC54RGBAu8n | FlagASTC55RGBAu8n)