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
| Type | Name | Description |
|---|---|---|
| EncoderASTC::Mode | mode | Compression mode. |
| Texture | dest | Destination proxy texture. |
| Texture | src | Source texture to compress. |
| Slice | dest_slice | Destination texture slice. |
| Slice | src_slice | Source texture slice. |
| uint32_t | components | Number of components. |
Enums
Mode
Encoder modes.
| Name | Value |
|---|---|
| ModeASTC44RGBAu8n | 0 |
| ModeASTC54RGBAu8n | 1 |
| ModeASTC55RGBAu8n | 2 |
| NumModes | 3 |
Flags
Encoder flags.
| Name | Value |
|---|---|
| FlagNone | 0 |
| FlagASTC44RGBAu8n | (1 << ModeASTC44RGBAu8n) |
| FlagASTC54RGBAu8n | (1 << ModeASTC54RGBAu8n) |
| FlagASTC55RGBAu8n | (1 << ModeASTC55RGBAu8n) |
| FlagCube | (1 << (NumModes + 1)) |
| FlagsAll | (FlagASTC44RGBAu8n | FlagASTC54RGBAu8n | FlagASTC55RGBAu8n) |