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
- Варіант формату PVRTC1 для RGB з 2 бітами на піксель. Текстури, стиснені в форматах PVRTC1, мусять бути квадратними, і їх розмір має бути ступенем двійки.
- PVR1rgb4
- Варіант формату PVRTC1 для RGB з 4 бітами на піксель.
- PVR1rgba2
- Варіант формату PVRTC1 для RGBA з 2 бітами на піксель.
- PVR1rgba4
- Варіант формату PVRTC1 для RGBA з 4 бітами на піксель.
- ASTC4x4
- Варіант формату ASTC з блоками розміром 4x4 пікселів. Дані RGBA по 8 біт на піксель.
- ASTC5x4
- Варіант формату ASTC з блоками розміром 5x4 пікселів. Дані RGBA по 6.4 біт на піксель.
- ASTC5x5
- Варіант формату ASTC з блоками розміром 5x5 пікселів. Дані RGBA по 5.12 біт на піксель.
- ASTC6x5
- Варіант формату ASTC з блоками розміром 6x5 пікселів. Дані RGBA по 4.27 біт на піксель.
- ASTC6x6
- Варіант формату ASTC з блоками розміром 6x6 пікселів. Дані RGBA по 3.56 біт на піксель.
- ASTC8x5
- Варіант формату ASTC з блоками розміром 8x5 пікселів. Дані RGBA по 3.2 біт на піксель.
- ASTC8x6
- Варіант формату ASTC з блоками розміром 8x6 пікселів. Дані RGBA по 2.67 біт на піксель.
- ASTC8x8
- Варіант формату ASTC з блоками розміром 8x8 пікселів. Дані RGBA по 2 біт на піксель.
- ASTC10x5
- Варіант формату ASTC з блоками розміром 10x5 пікселів. Дані RGBA по 2.56 біт на піксель.
- ASTC10x6
- Варіант формату ASTC з блоками розміром 10x6 пікселів. Дані RGBA по 2.13 біт на піксель.
- ASTC10x8
- Варіант формату ASTC з блоками розміром 10x8 пікселів. Дані RGBA по 1.6 біт на піксель.
- ASTC10x10
- Варіант формату ASTC з блоками розміром 10x10 пікселів. Дані RGBA по 1.28 біт на піксель.
- ASTC12x10
- Варіант формату ASTC з блоками розміром 12x10 пікселів. Дані RGBA по 1.07 біт на піксель.
- ASTC12x12
- Варіант формату ASTC з блоками розміром 12x12 пікселів. Дані RGBA по 0.89 біт на піксель.
Примітки
Підтримка форматів в класі 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.
Формати ETC2 та EAC підтримуються тільки на нових пристроях на iOS та Adnrdoid (на яких є підтримка OpenGL ES 3).
ASTC підтримується тільки на малій кількості нових мобільних пристроїв (напр. iPhone 6), і тільки на найновіших інтегрованих графічних картах Intel Skylake (та більш нових). У цього формату є багато варіантів, що дозволяє вибрати для кожної текстури варіант, на якому стиснення найбільш ефективне, а графічні артефакти найменш помітні.
Щоб перевірити підтримку, використовуйте функцію love.graphics.getCompressedImageFormats (англ.):
local supportedformats = love.graphics.getCompressedImageFormats()
if not supportedformats["DXT5"] then
-- Не можна завантажити CompressedImageData з форматом DXT5 в зображення!
-- На деяких системах з Linux та драйверами Mesa, користувачу
-- треба встановити пакет "libtxc-dxtn", бо формати DXT (вони ж S3TC)
-- запатентовані.
-- Підтримка форматів DXT на більшості інших настільних систем майже гарантована.
end
if not supportedformats["BC5"] then
-- Не можна завантажити CompressedImageData з форматом BC5 в зображення!
-- Найбільш імовірно, відеокарта користувача цей формат не підтримує.
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