Difference between revisions of "CompressedImageFormat (Українська)"
m (to be continued) |
(to be continued) |
||
Line 14: | Line 14: | ||
;BC5s: Варіант формату BC5 зі знаком. | ;BC5s: Варіант формату BC5 зі знаком. | ||
{{New feature (Українська)|0.9.2| | {{New feature (Українська)|0.9.2| | ||
− | ;BC6h: | + | ;BC6h: Формат BC6H format. Зберігає дані RGB як числа з плавучою комою [https://uk.wikipedia.org/wiki/Число_половинної_точності половинної точності] в діапазоні [0, 65504] по 8 біт на піксель. Підходить для зображень з високим динамічним діапазоном на настільних комп'ютерах. |
− | ;BC6hs: | + | ;BC6hs: Варіант формату BC6H зі знаком. Зберігає дані RBG в діапазоні [-65504, +65504]. |
− | ;BC7: | + | ;BC7: Формат BC7 (також відомий як BPTC). Зберігає дані RGB або RGBA по 8 біт на піксель.}} |
{{New feature (Українська)|0.10.0| | {{New feature (Українська)|0.10.0| | ||
;ETC1: Формат ETC1. Дані RGB по 4 біта на піксель. Підходить для даних без аніякої прозорості на старих пристроях Android. | ;ETC1: Формат ETC1. Дані RGB по 4 біта на піксель. Підходить для даних без аніякої прозорості на старих пристроях Android. | ||
Line 22: | Line 22: | ||
;ETC2rgba: Варіант формату ETC2 для RGBA. Дані RGBA по 8 біт на піксель. Рекомендується для зображень з різними рівнями прозорості на новіших мобільних пристроях. | ;ETC2rgba: Варіант формату ETC2 для RGBA. Дані RGBA по 8 біт на піксель. Рекомендується для зображень з різними рівнями прозорості на новіших мобільних пристроях. | ||
;ETC2rgba1: Варіант формату ETC2 для RGBA, де всі пікселі або цілком прозорі, або цілком непрозорі. Дані RGBA по 4 біти на піксель. | ;ETC2rgba1: Варіант формату ETC2 для RGBA, де всі пікселі або цілком прозорі, або цілком непрозорі. Дані RGBA по 4 біти на піксель. | ||
− | ;EACr: | + | ;EACr: Варіант формату EAC для одного каналу. Зберігає тільки червоний канал, по 4 біта на піксель. |
− | ;EACrs: | + | ;EACrs: Варіант формату EAC для одного каналу зі знаком. Те саме, що вище, але пікселі в текстурі можуть бути в діапазоні [-1, 1], а не [0, 1], в шейдерах. |
− | ;EACrg: | + | ;EACrg: Двоканальний варіант формату EAC. Зберігає червоний та зелений канали по 8 біт на піксель. |
− | ;EACrgs: | + | ;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. | ;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. | ;PVR1rgb4: The 4 bit per pixel RGB variant of the PVRTC1 format. Stores RGB data at 4 bits per pixel. | ||
Line 46: | Line 46: | ||
== Примітки == | == Примітки == | ||
− | + | Підтримка форматів в класі [[Image]] модуля love.graphcis залежить від системи, але формат DXT має майже 100% підтримку на всіх настільних (немобільних) операційних системах | |
− | + | Формати BC4 та BC5 підтримуються на настільних пристроях з підтримкою DirectX 10 / OpenGL 3. Формати BC6H та BC7 підтримуються тільки на настільних системах з підтримкою DirectX 11 / OpenGL 4 і найновішими драйверами. macOS наразі взагалі не підтримує BC6H та BC7. | |
− | ETC1 | + | 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. | The ETC2 and EAC formats are supported by newer (OpenGL ES 3-capable) iOS and Android devices. |
Revision as of 19:30, 29 February 2020
Доступне починаючи з 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