CompressedImageFormat (Українська)
Доступне починаючи з LÖVE 0.9.0 |
Це перелічене значення недоступне в попередніх версіях. |
Формати даних для стиснених зображень. Огляд багатьох форматів можна знайти тут (англ.) і тут (англ.).
На відміну від традиційних форматів, таких як PNG чи JPEG, ці формати залишаються стисненими в операційній пам'яті комп'ютера (RAM) та в пам'яті відеокарти (VRAM). Це дозволяє економити місце і прискорює роботу, бо графічна карта може тримати більше пікселів в кеші швидкого доступа.
В версіях LÖVE до 0.10.0 всі ці константи називаються малими літерами. |
Contents
Constants
- DXT1
- Формат DXT1. Дані RGB (червоний—зелений—синій), по 4 біта на піксель (порівняйте з 32 бітами в ImageData і зачайних об'єктах Image (англ.).) Цей формат не підходить для зображень з прозорістю та мобільних систем.
- DXT3
- Формат DXT3. Дані RGBA (червоний, зелений, синій, прозорість) по 8 бітів на піксель. Цей формат не підходить для плавних змін прозорості.
- DXT5
- Формат DXT5. Дані RGBA по 8 бітів на піксель. Рекомендується для зображень з різною прозорістю на звичайних комп'ютерах (не мобільних системах).
- BC4
- Формат BC4 (також відомий як 3Dc+ або ATI1.) Зберігає виключно червоний канал, по 4 біта на піксель.
- BC4s
- Варіант формату BC4 зі знаком. Те саме, що попередній формат, але значення бувають в діапазоні [-1, 1], а не в [0, 1], в шейдерах.
- BC5
- Формат BC5 (також відомий як 3Dc або ATI2.) Зберігає червоний та зелений канали по 8 біт на піксель.
- BC5s
- Варіант формату BC5 зі знаком.
- BC6h
- Формат BC6H format. Зберігає дані RGB як числа з плавучою комою половинної точності в діапазоні [0, 65504] по 8 біт на піксель. Підходить для зображень з високим динамічним діапазоном на настільних комп'ютерах.
- BC6hs
- Варіант формату BC6H зі знаком. Зберігає дані RBG в діапазоні [-65504, +65504].
- BC7
- Формат BC7 (також відомий як BPTC). Зберігає дані RGB або RGBA по 8 біт на піксель.
- ETC1
- Формат ETC1. Дані RGB по 4 біта на піксель. Підходить для даних без аніякої прозорості на старих пристроях Android.
- ETC2rgb
- Варіант формату ETC2 для RGB. Дані RGB по 4 біта на піксель. Підходить для зображень без аніякої прозорості на нових мобільних пристроях.
- ETC2rgba
- Варіант формату ETC2 для RGBA. Дані RGBA по 8 біт на піксель. Рекомендується для зображень з різними рівнями прозорості на новіших мобільних пристроях.
- ETC2rgba1
- Варіант формату ETC2 для RGBA, де всі пікселі або цілком прозорі, або цілком непрозорі. Дані RGBA по 4 біти на піксель.
- EACr
- Варіант формату EAC для одного каналу. Зберігає тільки червоний канал, по 4 біта на піксель.
- EACrs
- Варіант формату EAC для одного каналу зі знаком. Те саме, що вище, але пікселі в текстурі можуть бути в діапазоні [-1, 1], а не [0, 1], в шейдерах.
- EACrg
- Двоканальний варіант формату EAC. Зберігає червоний та зелений канали по 8 біт на піксель.
- EACrgs
- Двоканальний варіант формату EAC зі знаком.
- PVR1rgb2
- The 2 bit per pixel RGB variant of the PVRTC1 format. Stores RGB data at 2 bits per pixel. Textures compressed with PVRTC1 formats must be square and power-of-two sized.
- PVR1rgb4
- The 4 bit per pixel RGB variant of the PVRTC1 format. Stores RGB data at 4 bits per pixel.
- PVR1rgba2
- The 2 bit per pixel RGBA variant of the PVRTC1 format.
- PVR1rgba4
- The 4 bit per pixel RGBA variant of the PVRTC1 format.
- ASTC4x4
- The 4x4 pixels per block variant of the ASTC format. RGBA data at 8 bits per pixel.
- ASTC5x4
- The 5x4 pixels per block variant of the ASTC format. RGBA data at 6.4 bits per pixel.
- ASTC5x5
- The 5x5 pixels per block variant of the ASTC format. RGBA data at 5.12 bits per pixel.
- ASTC6x5
- The 6x5 pixels per block variant of the ASTC format. RGBA data at 4.27 bits per pixel.
- ASTC6x6
- The 6x6 pixels per block variant of the ASTC format. RGBA data at 3.56 bits per pixel.
- ASTC8x5
- The 8x5 pixels per block variant of the ASTC format. RGBA data at 3.2 bits per pixel.
- ASTC8x6
- The 8x6 pixels per block variant of the ASTC format. RGBA data at 2.67 bits per pixel.
- ASTC8x8
- The 8x8 pixels per block variant of the ASTC format. RGBA data at 2 bits per pixel.
- ASTC10x5
- The 10x5 pixels per block variant of the ASTC format. RGBA data at 2.56 bits per pixel.
- ASTC10x6
- The 10x6 pixels per block variant of the ASTC format. RGBA data at 2.13 bits per pixel.
- ASTC10x8
- The 10x8 pixels per block variant of the ASTC format. RGBA data at 1.6 bits per pixel.
- ASTC10x10
- The 10x10 pixels per block variant of the ASTC format. RGBA data at 1.28 bits per pixel.
- ASTC12x10
- The 12x10 pixels per block variant of the ASTC format. RGBA data at 1.07 bits per pixel.
- ASTC12x12
- The 12x12 pixels per block variant of the ASTC format. RGBA data at 0.89 bits per pixel.
Примітки
Підтримка форматів в класі Image модуля love.graphcis залежить від системи, але формат DXT має майже 100% підтримку на всіх настільних (немобільних) операційних системах
Формати BC4 та BC5 підтримуються на настільних пристроях з підтримкою DirectX 10 / OpenGL 3. Формати BC6H та BC7 підтримуються тільки на настільних системах з підтримкою DirectX 11 / OpenGL 4 і найновішими драйверами. macOS наразі взагалі не підтримує BC6H та BC7.
ETC1 підтримується пристроями з Android, а також новими пристроями на iOS (які підтримують OpenGL ES 3).
Формати PVR1 підтримуються пристроями на iOS, а також пристроями на Android з відеокартами PowerVR.
The ETC2 and EAC formats are supported by newer (OpenGL ES 3-capable) iOS and Android devices.
ASTC is only supported by very new mobile devices (e.g. the iPhone 6), and the latest Skylake (and newer) integrated Intel GPUs. It has a variety of variants to allow for picking the most compressed possible one that doesn't have any noticeable compression artifacts, for a given texture.
Use love.graphics.getCompressedImageFormats to check for support:
local supportedformats = love.graphics.getCompressedImageFormats()
if not supportedformats["DXT5"] then
-- Can't load CompressedImageData with the DXT5 format into images!
-- On some Linux systems with Mesa drivers, the user will need to install a "libtxc-dxtn" package because the DXT (aka S3TC) formats used to be patented.
-- Support for DXT formats on all other desktop drivers is pretty much guaranteed.
end
if not supportedformats["BC5"] then
-- Can't load CompressedImageData with the BC5 format into images!
-- The user likely doesn't have a video card capable of using that format.
end
Див. також
- love.image
- CompressedImageData
- CompressedImageData:getFormat
- love.graphics.getCompressedImageFormats (англ.)
Іншими мовами
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info