Difference between revisions of "CompressedImageFormat (Українська)"

(to be continued)
(seems translated? this list of formats was so boring to trasnlate xD)
 
Line 26: Line 26:
 
;EACrg: Двоканальний варіант формату EAC. Зберігає червоний та зелений канали по 8 біт на піксель.
 
;EACrg: Двоканальний варіант формату EAC. Зберігає червоний та зелений канали по 8 біт на піксель.
 
;EACrgs: Двоканальний варіант формату EAC зі знаком.
 
;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: Варіант формату PVRTC1 для RGB з 2 бітами на піксель. Текстури, стиснені в форматах PVRTC1, мусять бути квадратними, і їх розмір має бути ступенем двійки.
;PVR1rgb4: The 4 bit per pixel RGB variant of the PVRTC1 format. Stores RGB data at 4 bits per pixel.
+
;PVR1rgb4: Варіант формату PVRTC1 для RGB з 4 бітами на піксель.
;PVR1rgba2: The 2 bit per pixel RGBA variant of the PVRTC1 format.
+
;PVR1rgba2: Варіант формату PVRTC1 для RGBA з 2 бітами на піксель.
;PVR1rgba4: The 4 bit per pixel RGBA variant of the PVRTC1 format.
+
;PVR1rgba4: Варіант формату PVRTC1 для RGBA з 4 бітами на піксель.
;ASTC4x4: The 4x4 pixels per block variant of the ASTC format. RGBA data at 8 bits per pixel.
+
;ASTC4x4: Варіант формату ASTC з блоками розміром 4x4 пікселів. Дані RGBA по 8 біт на піксель.
;ASTC5x4: The 5x4 pixels per block variant of the ASTC format. RGBA data at 6.4 bits per pixel.
+
;ASTC5x4: Варіант формату ASTC з блоками розміром 5x4 пікселів. Дані RGBA по 6.4 біт на піксель.
;ASTC5x5: The 5x5 pixels per block variant of the ASTC format. RGBA data at 5.12 bits per pixel.
+
;ASTC5x5: Варіант формату ASTC з блоками розміром 5x5 пікселів. Дані RGBA по 5.12 біт на піксель.
;ASTC6x5: The 6x5 pixels per block variant of the ASTC format. RGBA data at 4.27 bits per pixel.
+
;ASTC6x5: Варіант формату ASTC з блоками розміром 6x5 пікселів. Дані RGBA по 4.27 біт на піксель.
;ASTC6x6: The 6x6 pixels per block variant of the ASTC format. RGBA data at 3.56 bits per pixel.
+
;ASTC6x6: Варіант формату ASTC з блоками розміром 6x6 пікселів. Дані RGBA по 3.56 біт на піксель.
;ASTC8x5: The 8x5 pixels per block variant of the ASTC format. RGBA data at 3.2 bits per pixel.
+
;ASTC8x5: Варіант формату ASTC з блоками розміром 8x5 пікселів. Дані RGBA по 3.2 біт на піксель.
;ASTC8x6: The 8x6 pixels per block variant of the ASTC format. RGBA data at 2.67 bits per pixel.
+
;ASTC8x6: Варіант формату ASTC з блоками розміром 8x6 пікселів. Дані RGBA по 2.67 біт на піксель.
;ASTC8x8: The 8x8 pixels per block variant of the ASTC format. RGBA data at 2 bits per pixel.
+
;ASTC8x8: Варіант формату ASTC з блоками розміром 8x8 пікселів. Дані RGBA по 2 біт на піксель.
;ASTC10x5: The 10x5 pixels per block variant of the ASTC format. RGBA data at 2.56 bits per pixel.
+
;ASTC10x5: Варіант формату ASTC з блоками розміром 10x5 пікселів. Дані RGBA по 2.56 біт на піксель.
;ASTC10x6: The 10x6 pixels per block variant of the ASTC format. RGBA data at 2.13 bits per pixel.
+
;ASTC10x6: Варіант формату ASTC з блоками розміром 10x6 пікселів. Дані RGBA по 2.13 біт на піксель.
;ASTC10x8: The 10x8 pixels per block variant of the ASTC format. RGBA data at 1.6 bits per pixel.
+
;ASTC10x8: Варіант формату ASTC з блоками розміром 10x8 пікселів. Дані RGBA по 1.6 біт на піксель.
;ASTC10x10: The 10x10 pixels per block variant of the ASTC format. RGBA data at 1.28 bits per pixel.
+
;ASTC10x10: Варіант формату ASTC з блоками розміром 10x10 пікселів. Дані RGBA по 1.28 біт на піксель.
;ASTC12x10: The 12x10 pixels per block variant of the ASTC format. RGBA data at 1.07 bits per pixel.
+
;ASTC12x10: Варіант формату ASTC з блоками розміром 12x10 пікселів. Дані RGBA по 1.07 біт на піксель.
;ASTC12x12: The 12x12 pixels per block variant of the ASTC format. RGBA data at 0.89 bits per pixel.}}
+
;ASTC12x12: Варіант формату ASTC з блоками розміром 12x12 пікселів. Дані RGBA по 0.89 біт на піксель.}}
  
 
== Примітки ==
 
== Примітки ==
Line 54: Line 54:
 
Формати PVR1 підтримуються пристроями на iOS, а також пристроями на Android з відеокартами PowerVR.
 
Формати PVR1 підтримуються пристроями на iOS, а також пристроями на Android з відеокартами PowerVR.
  
The ETC2 and EAC formats are supported by newer (OpenGL ES 3-capable) iOS and Android devices.
+
Формати ETC2 та EAC підтримуються тільки на нових пристроях на iOS та Adnrdoid (на яких є підтримка OpenGL ES 3).
  
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.
+
ASTC підтримується тільки на малій кількості нових мобільних пристроїв (напр. iPhone 6), і тільки на найновіших інтегрованих графічних картах Intel Skylake (та більш нових). У цього формату є багато варіантів, що дозволяє вибрати для кожної текстури варіант, на якому стиснення найбільш ефективне, а графічні артефакти найменш помітні.
  
Use [[love.graphics.getCompressedImageFormats]] to check for support:
+
Щоб перевірити підтримку, використовуйте функцію {{translated link|love.graphics.getCompressedImageFormats|Українська}}:
 
<source lang="lua">
 
<source lang="lua">
 
local supportedformats = love.graphics.getCompressedImageFormats()
 
local supportedformats = love.graphics.getCompressedImageFormats()
  
 
if not supportedformats["DXT5"] then
 
if not supportedformats["DXT5"] then
     -- Can't load CompressedImageData with the DXT5 format into images!
+
     -- Не можна завантажити CompressedImageData з форматом DXT5 в зображення!
     -- 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.
+
     -- На деяких системах з Linux та драйверами Mesa, користувачу
     -- Support for DXT formats on all other desktop drivers is pretty much guaranteed.
+
      -- треба встановити пакет "libtxc-dxtn", бо формати DXT (вони ж S3TC)
 +
      -- запатентовані.
 +
     -- Підтримка форматів DXT на більшості інших настільних систем майже гарантована.
 
end
 
end
  
 
if not supportedformats["BC5"] then
 
if not supportedformats["BC5"] then
     -- Can't load CompressedImageData with the BC5 format into images!
+
     -- Не можна завантажити CompressedImageData з форматом BC5 в зображення!
     -- The user likely doesn't have a video card capable of using that format.
+
     -- Найбільш імовірно, відеокарта користувача цей формат не підтримує.
 
end
 
end
 
</source>
 
</source>

Latest revision as of 12:22, 2 March 2020

Доступне починаючи з LÖVE 0.9.0
Це перелічене значення недоступне в попередніх версіях.

Формати даних для стиснених зображень. Огляд багатьох форматів можна знайти тут (англ.) і тут (англ.).

На відміну від традиційних форматів, таких як PNG чи JPEG, ці формати залишаються стисненими в операційній пам'яті комп'ютера (RAM) та в пам'яті відеокарти (VRAM). Це дозволяє економити місце і прискорює роботу, бо графічна карта може тримати більше пікселів в кеші швидкого доступа.

O.png В версіях LÖVE до 0.10.0 всі ці константи називаються малими літерами.  


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 зі знаком.
Доступне починаючи з LÖVE 0.9.2
BC6h
Формат BC6H format. Зберігає дані RGB як числа з плавучою комою половинної точності в діапазоні [0, 65504] по 8 біт на піксель. Підходить для зображень з високим динамічним діапазоном на настільних комп'ютерах.
BC6hs
Варіант формату BC6H зі знаком. Зберігає дані RBG в діапазоні [-65504, +65504].
BC7
Формат BC7 (також відомий як BPTC). Зберігає дані RGB або RGBA по 8 біт на піксель.


Доступне починаючи з LÖVE 0.10.0
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

Див. також


Іншими мовами