ФорматCanvas
Доступно начиная с LÖVE 0.9.0
Этот перечисление не поддерживается в более ранних версиях.
| Устаревшее в LÖVE 11.0 |
| Заменено на PixelFormat.. |
Константы
- normal
- По умолчанию формат Canvas - обычно псевдоним для формата
rgba8, или форматsrgb, если гамма-корректное отображение включено в LÖVE 0.10.0 и новее. - hdr
- Формат, подходящий для контента с высокой динамической гаммой - обычно псевдоним для формата
rgba16f.
- rgba8 Доступно начиная с 0.9.2
- 8 бит на канал (32 бп) RGBA. Значения каналов цвета находятся в диапазоне от 0 до 255 (0-1 в шейдерах).
- rgba4 Доступно начиная с 0.9.2
- 4 бита на канал (16 бп) RGBA.
- rgb5a1 Доступно начиная с 0.9.2
- RGB с 5 битами каждый и 1-битовым альфа-каналом (16 бп).
- rgb565 Доступно начиная с 0.9.2
- RGB с 5, 6 и 5 битами соответственно (16 бп). В этом формате нет альфа-канала.
- rgb10a2 Доступно начиная с 0.9.2
- RGB с 10 битами на канал и 2-битовым альфа-каналом (32 бп).
- rgba16f Доступно начиная с 0.9.2
- Плавающая точка RGBA с 16 битами на канал (64 бп). Значения цвета могут колебаться в пределах [-65504, +65504].
- rgba32f Доступно начиная с 0.9.2
- Плавающая точка RGBA с 32 битами на канал (128 бп).
- rg11b10f Доступно начиная с 0.9.2
- Плавающая точка RGB с 11 битами в каналах красного и зеленого и 10 битами в синем канале (32 бп). Альфа-канала нет. Значения цвета могут варьироваться от [0, +65024].
- srgb Доступно начиная с 0.9.2
- То же, что и
rgba8, но Canvas интерпретируется как находящийся в цветовом пространстве sRGB. Все, что отрисовано в Canvas, будет преобразовано из линейного RGB в sRGB. При отрисовке Canvas (или использовании в шейдере) он будет декодирован из sRGB в линейный RGB. Это уменьшает размытие цветов при гамма-корректном отображении, поскольку кодирование sRGB имеет большую точность, чем линейный RGB для более темных цветов.
- r8 Доступно начиная с 0.10.0
- Одноканальный формат (красный компонент) (8 бп).
- rg8 Доступно начиная с 0.10.0
- Два канала (красный и зеленый компоненты) с 8 битами на канал (16 бп).
- r16f Доступно начиная с 0.10.0
- Плавающая точка одноканальный формат (16 бп). Значения цвета могут колебаться в пределах [-65504, +65504].
- rg16f Доступно начиная с 0.10.0
- Плавающая точка двухканальный формат с 16 битами на канал (32 бп). Значения цвета могут колебаться в пределах [-65504, +65504].
- r32f Доступно начиная с 0.10.0
- Плавающая точка одноканальный формат (32 бп).
- rg32f Доступно начиная с 0.10.0
- Плавающая точка двухканальный формат с 32 битами на канал (64 бп).
Примечания
Форматы RGB и RGBA с 16 бп используют вдвое меньше VRAM, чем форматы RGBA с 32 бп, но качество значительно ниже.
Форматы HDR/с плавающей точкой наиболее полезны при совместном использовании с пиксельными шейдерами. Можно реализовать такие эффекты, как тонированное отображение HDR с эффектом свечения, или холст может использоваться для хранения произвольных данных, не являющихся цветом, таких как позиции, которые затем можно использовать в пользовательском шейдере.
Формат sRGB следует использовать только при гамма-корректном отображении, что является сложной темой, и легко перепутать цветовые пространства. Если вы не уверены, нужно ли вам это, лучше его избегать. Подробнее о гамма-корректном отображении читайте здесь, здесь и здесь.
Не все системы поддерживают все форматы. Используйте love.graphics.getCanvasFormats, чтобы проверить перед созданием Canvas.
В общем, rgba8, rgba4, и rgb5a1 поддерживаются везде. rgb10a2 также поддерживается везде на настольных платформах.
Обычные одно- и двухканальные форматы (r8 и rg8), а также формат srgb, поддерживаются на настольных видеокартах, способных работать с OpenGL 3+ / DirectX 10+ (nvidia GeForce 8000 series и выше, ATI/AMD HD 2000 series и выше, а также Intel HD 2000 и выше), и мобильных GPU, способных работать с OpenGL ES 3.
Форматы с плавающей точкой (rgba16f, rgba32f, rg11b10f, r16f, rg16f, r32f, и rg32f) поддерживаются на настольных видеокартах, совместимых с OpenGL 3, и некоторых мобильных GPU OpenGL ES 3. 32-битные форматы с плавающей точкой редко поддерживаются на мобильных устройствах.
rgb565 часто поддерживается только на устройствах OpenGL ES / мобильных устройствах или с очень новыми драйверами настольного OpenGL.
См. также
© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/CanvasFormat