self:compress
Client
Compresses the image using GPU block-compression, significantly reducing VRAM usage
Syntax
local status = self:compress(
mode
)Compression is irreversible. Unlike self:convert, once an image is compressed with GPU block-compression it cannot be converted or compressed again.
- Use
convert— for quick, reversible VRAM savings, or a specific channel layout. - Use
compress— for maximum VRAM savings on a finished asset that won't need further format changes. - Combining both — convert first if you need a specific format, then compress; compression locks the image afterward.
- Filter overrides — any
self:set_filteroverride stays applied after compression; the image is updated in place, not replaced.
Parameters
| Type | Name | Description |
|---|---|---|
core.image.compression_mode | mode | Target compression mode |
Returns
| Type | Name | Description |
|---|---|---|
bool | status | true on successful execution, false otherwise |
Examples
local entity = core.image.create("assets/diffuse.png")
entity:compress(core.image.compression_mode.S3TC)local entity = core.image.create("assets/sprite.png")
entity:compress(core.image.compression_mode.BPTC)local entity = core.image.create("assets/sky/panorama.hdr")
entity:compress(core.image.compression_mode.BPTC)