Spec-Zone.ru › LÖVE

CompressedFormat

Доступно с LÖVE 0.9.0
Этот перечисление не поддерживается в более ранних версиях.

Устаревший в LÖVE 11.0
Заменён на PixelFormat..

Форматы сжатых данных изображения. Здесь и здесь есть несколько обзоров многих форматов.

В отличие от традиционных PNG или jpeg, эти форматы остаются сжатыми в ОЗУ и в видеопамяти графического процессора. Это хорошо для экономии памяти, а также для повышения производительности, так как графический процессор сможет хранить больше пикселей изображения в кэше с быстрым доступом при его отрисовке.

В версиях LÖVE до 0.10.0 эти константы были в нижнем регистре.

Константы

DXT1
Формат DXT1. Данные RGB с 4 битами на пиксель (по сравнению с 32 битами для ImageData и обычных изображений.) Подходит для полностью непрозрачных изображений на настольных системах.
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 Доступно с 0.9.2
Формат BC6H. Хранит данные RGB с плавающей запятой с половинной точностью в диапазоне [0, 65504] с 8 битами на пиксель. Подходит для изображений HDR на настольных системах.
BC6hs Доступно с 0.9.2
Подписанная разновидность формата BC6H. Хранит данные RGB в диапазоне [-65504, +65504].
BC7 Доступно с 0.9.2
Формат BC7 (также известный как BPTC). Хранит данные RGB или RGBA с 8 битами на пиксель.


ETC1 Доступно с 0.10.0
Формат ETC1. Данные RGB с 4 битами на пиксель. Подходит для полностью непрозрачных изображений на старых устройствах Android.
ETC2rgb Доступно с 0.10.0
Формат ETC2 в варианте RGB. Данные RGB с 4 битами на пиксель. Подходит для полностью непрозрачных изображений на новых мобильных устройствах.
ETC2rgba Доступно с 0.10.0
Формат ETC2 в варианте RGBA. Данные RGBA с 8 битами на пиксель. Рекомендуется для изображений с изменяющейся непрозрачностью на новых мобильных устройствах.
ETC2rgba1 Доступно с 0.10.0
Вариант RGBA формата ETC2, где пиксели либо полностью прозрачны, либо полностью непрозрачны. Данные RGBA с 4 битами на пиксель.
EACr Доступно с 0.10.0
Одноканальный вариант формата EAC. Хранит только красный канал с 4 битами на пиксель.
EACrs Доступно с 0.10.0
Подписанный одноканальный вариант формата EAC. То же самое, что и выше, но значения пикселей в текстуре находятся в диапазоне [-1, 1] вместо [0, 1] в шейдерах.
EACrg Доступно с 0.10.0
Двухканальный вариант формата EAC. Хранит каналы красный и зелёный с 8 битами на пиксель.
EACrgs Доступно с 0.10.0
Подписанный двухканальный вариант формата EAC.
PVR1rgb2 Доступно с 0.10.0
Вариант формата PVRTC1 с 2 битами на пиксель RGB. Хранит данные RGB с 2 битами на пиксель. Текстуры, сжатые в форматах PVRTC1, должны быть квадратными и иметь размер, являющийся степенью двойки.
PVR1rgb4 Доступно с 0.10.0
Вариант формата PVRTC1 с 4 битами на пиксель RGB. Хранит данные RGB с 4 битами на пиксель.
PVR1rgba2 Доступно с 0.10.0
Вариант формата PVRTC1 с 2 битами на пиксель RGBA.
PVR1rgba4 Доступно с 0.10.0
Вариант формата PVRTC1 с 4 битами на пиксель RGBA.
ASTC4x4 Доступно с 0.10.0
Вариант формата ASTC с 4x4 пикселями на блок. Данные RGBA с 8 битами на пиксель.
ASTC5x4 Доступно с 0.10.0
Вариант формата ASTC с 5x4 пикселями на блок. Данные RGBA с 6.4 битами на пиксель.
ASTC5x5 Доступно с 0.10.0
Вариант формата ASTC с 5x5 пикселями на блок. Данные RGBA с 5.12 битами на пиксель.
ASTC6x5 Доступно с 0.10.0
Вариант формата ASTC с 6x5 пикселями на блок. Данные RGBA с 4.27 битами на пиксель.
ASTC6x6 Доступно с 0.10.0
Вариант формата ASTC с 6x6 пикселями на блок. Данные RGBA с 3.56 битами на пиксель.
ASTC8x5 Доступно с 0.10.0
Вариант формата ASTC с 8x5 пикселями на блок. Данные RGBA с 3.2 битами на пиксель.
ASTC8x6 Доступно с 0.10.0
Вариант формата ASTC с 8x6 пикселями на блок. Данные RGBA с 2.67 битами на пиксель.
ASTC8x8 Доступно с 0.10.0
Вариант формата ASTC с 8x8 пикселями на блок. Данные RGBA с 2 битами на пиксель.
ASTC10x5 Доступно с 0.10.0
Вариант формата ASTC с 10x5 пикселями на блок. Данные RGBA с 2.56 битами на пиксель.
ASTC10x6 Доступно с 0.10.0
Вариант формата ASTC с 10x6 пикселями на блок. Данные RGBA с 2.13 битами на пиксель.
ASTC10x8 Доступно с 0.10.0
Вариант формата ASTC с 10x8 пикселями на блок. Данные RGBA с 1.6 битами на пиксель.
ASTC10x10 Доступно с 0.10.0
Вариант формата ASTC с 10x10 пикселями на блок. Данные RGBA с 1.28 битами на пиксель.
ASTC12x10 Доступно с 0.10.0
Вариант формата ASTC с 12x10 пикселями на блок. Данные RGBA с 1.07 битами на пиксель.
ASTC12x12 Доступно с 0.10.0
Вариант формата ASTC с 12x12 пикселями на блок. Данные RGBA с 0.89 битами на пиксель.


Примечания

Не все форматы поддерживаются в love.graphics Images на всех системах, хотя форматы DXT имеют почти 100% поддержку на настольных операционных системах.

Форматы BC4 и BC5 поддерживаются системами с DirectX 10 / OpenGL 3-совместимым настольным оборудованием и драйверами. Форматы BC6H и BC7 поддерживаются только на настольных системах с DirectX 11 / OpenGL 4-совместимым оборудованием и очень новыми драйверами. macOS в настоящее время не поддерживает BC6H или BC7.

ETC1 поддерживается устройствами Android, а также новыми (OpenGL ES 3-совместимыми) устройствами iOS.

Форматы PVR1 поддерживаются устройствами iOS, а также устройствами Android с графическими процессорами PowerVR.

Форматы ETC2 и EAC поддерживаются более новыми (OpenGL ES 3-совместимыми) устройствами iOS и Android.

ASTC поддерживается только очень новыми мобильными устройствами (например, iPhone 6) и последними интегрированными графическими процессорами Intel Skylake (и новее). Он имеет различные варианты, позволяющие выбрать наиболее сжатый вариант без заметных артефактов сжатия для заданной текстуры.

Используйте love.graphics.getCompressedImageFormats для проверки поддержки:

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

© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/CompressedFormat

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API