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
Type | Name | Description |
---|---|---|
EncoderBC67::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 |
---|---|
ModeBC6RGBf16s | 0 |
ModeBC6RGBf16u | 1 |
ModeBC7RGBAu8n | 2 |
NumModes | 3 |
Flags
Encoder flags.
Name | Value |
---|---|
FlagNone | 0 |
FlagBC6RGBf16s | (1 << ModeBC6RGBf16s) |
FlagBC6RGBf16u | (1 << ModeBC6RGBf16u) |
FlagBC7RGBAu8n | (1 << ModeBC7RGBAu8n) |
FlagCube | (1 << (NumModes + 1)) |
FlagsAll | (FlagBC6RGBf16s | FlagBC6RGBf16u | FlagBC7RGBAu8n) |