Форматы изображений

Материал из Valve Developer Community
Перейти к: навигация, поиск
Icon-essay.png
This is an essay.
It contains the advice or opinions of one or more of the Valve Developer Community's contributors.
This page is not an encyclopedia article, nor is it one of the Valve Developer Community's policies or guidelines, as it has not been thoroughly vetted by the community.
Some essays represent widespread norms; others only represent minority viewpoints.
English (en)Русский (ru)
Править

Ниже приведен список стандартных форматов изображений с указанием того, какие движки их поддерживают, сжаты ли они и когда I рекомендует их использовать.

Icon-Important.pngВажно:Это субъективные рекомендации; не перемещайте страницу за пределы пользовательского пространства! Вместо этого рассмотрите возможность копирования целевых сегментов на новую страницу.
Warning.pngПредупреждение:Я лично не тестировал какие-либо форматы в Strata Source или Source 2, так как у меня нет ни того, ни другого для тестирования. Я также не тестировал IA88, A8 или BGRA16F. Информация, указанная на этой странице, основана на концептуальном знании форматов и ранее существовавшей документации, касающейся форматов strata VTF v7.6 и Source 2 VTEX.
Поддерживается
Формат GoldSrc
GoldSrc
Source
Source
Strata Source
Strata
Source 2
Source 2
Сжат? Рекомендации к использованию
P8 (256-цвет) Да, за исключением фона главного меню и текстур деталей Нет (используйте BGR565 или BGRA8888) Нет (используйте BC7) Нет (используйте BC7) Да, 256 цветов GoldSrc: большинство текстур (браши, модели, спрайты, и т.д.)
BGR888, RGB888 (24-битный истинный цвет) Ограниченный; только для скайбоксов, детализированных текстур, фона главного меню и элементов VGUI Да Да Да Нет (кроме GoldSrc, см. примечания) GoldSrc: скайбоксы, детализированные текстуры, фоны главного меню и элементы VGUI.

Source: скайбоксы, карты нормалей с низким разрешением без альфа-канала и цветные текстуры, значительная часть которых темно-серого цвета.
Strata Source и Source 2: не рекомендуется; вместо этого используйте BC7

BGRA8888, RGBA8888 (32-битный истинный цвет с полупрозрачностью) Ограниченный; только для элементов VGUI Да Да Да Нет Source: детализированные текстуры с альфа-каналами.

Source: Детализированные карты нормалей в низком разрешении с зеркальной маской через альфа-канал ($normalmapalphaenvmapmask).
Strata Source + Source 2: не рекомендуется; вместо этого используйте BC7

BGRA8888, RGBA8888 (Source 1 сжатый HDR, также известный как "RGBM"; только шейдеры неба) Нет Да Да Да Да; альфа-канал используется как множитель, а не как полупрозрачность (см. Valve Texture Format#HDR compression)
Можно также использовать в сочетании с DXT5, но делать это не рекомендуется.
Source: скайбоксы HDR

Strata Source и Source 2: не рекомендуется; вместо этого используйте BC6H

BGRA16161616F, RGBA16161616F (HDR с плавающей запятой, 16 бит/канал, полупрозрачность) Нет Да Да Да Нет Source, Strata Source, Source 2: текстуры HDR с альфа-каналом.
BGR565 (16-битный цвет) Нет Да Да Нет (используйте BC7) Нет Source: карты нормалей с низким разрешением без зеркальной маски;

Source: детализированные текстуры низкого разрешения без альфа-каналов
Strata Source: не рекомендуется; вместо этого используйте BC7

BGRA4444 (16-битный цвет с полупрозрачностью) Нет Да Да Нет (используйте BC7) Нет Source: не рекомендуется; вызывает заметный цветовой сдвиг, из-за чего он не может убедительно изобразить плоскую карту нормалей.

Strata Source: не рекомендуется; вместо этого используйте BC7.

I8 (8-битная шкала серого) Технически (с использованием P8) Да Да Да Нет Source: Зеркальные маски для материалов без карты нормалей (избегает зеленого оттенка DXTn; тот же размер файла, что и у DTX5).

Source: декали с использованием DecalModulate (избегает зеленого оттенка DXTn)
Strata Source+Source 2: не рекомендуется; вместо этого используйте ATI1N

IA88 (8-битные оттенки серого с полупрозрачностью) Нет Да Да Да Нет Source: надписи в оттенках серого с альфа-каналом.

Strata Source+Source 2: не рекомендуется; вместо этого используйте BC7

A8 (только полупрозрачность) Технически только для спрайтов (использующих IndexAlpha) и декалей. Да Да Да Нет Source, Strata Source и Source 2: одноцветные текстуры с альфа-каналом (используйте окраску материалов для назначения небелых цветов).
DXT1 (он же BC1) Counter-Strike (Xbox) Да Да Да Да; два явных цвета BGR565 и два интерполированных цвета 4x4 Source, Strata Source и Source 2: умеренно детализированные текстуры высокого разрешения без альфа-канала.
DXT3 (он же BC2) Нет Да Да Нет (используйте DXT5) только RGB; RGB обрабатывается как DXT1, с несжатым 4-битным альфа-каналом. Source, Strata Source: не рекомендуется, вместо этого используйте DXT5.
DXT5 (он же BC3) Нет Да Да Да Да; RGB обрабатывается как DXT1, а альфа обрабатывается как ATI1N. Source, Strata Source и Source 2: умеренно детализированные текстуры высокого разрешения с альфа-каналом.
ATI1N (он же BC4) Нет Нет (используйте I8) Да Да Да; четыре значения I8 и четыре интерполированных значения 4x4 Strata Source: Зеркальные маски для материалов без карты нормалей.

Source 2: все Зеркальные маски

ATI2N (он же BC5) Нет Нет (используйте BGR565, если это действительно необходимо) Да Да Да; два независимых канала в стиле ATI1N (красный и зеленый) Strata Source: $blendmodulatetexture, возможно

Source 2: ???

BC6H (он же BC6) Нет Нет (используйте сжатый BGRA8888) Да Да Да; четыре явных цвета RGB161616 или RGB161616F и четыре интерполированных цвета 4x4 Strata Source & Source 2: скайбоксы HDR
BC7 Нет Нет (используйте BGR565 или BGRA8888) Да Да Да; четыре явных цвета RGB888 или RGBA8888 и четыре интерполированных цвета 4x4 Strata Source & Source 2: всякий раз, когда DXT1 или DXT5 слишком блочные и/или DXT зеленый оттенок необходимо избегать.
Note.pngПримечание:Версии GoldSrc для Steam поддерживают RLE-сжатые файлы TGA для определенных случаев использования, таких как скайбоксы и детализированные текстуры. Другие варианты использования, такие как значки на панели задач или прозрачные спрайты VGUI, не поддерживают сжатие RLE.
Не все программы могут экспортировать сжатые TGA; GIMP делает это при экспорте в TGA по умолчанию. Убедитесь, что в качестве исходной точки выбрано значение "внизу слева".
Note.pngПримечание:Все форматы, поддерживаемые Strata Source, могут быть сжаты с помощью PNG-стиля deflate с использованием специального формата v7.6 VTF. Это используется в сочетании с любым встроенным форматом сжатия, поддерживаемым ГПУ; как таковой, он не упоминается в этой таблице.
Note.pngПримечание:Хотя формат VTF, используемый Source, поддерживает кодирование цветовых каналов в нескольких порядках (RGB, BGR, RGBA, BGRA, ARGB, ABGR), только BGR и BGRA гарантированно работают правильно. Для сравнения, Source 2 предпочитает RGB и RGBA, используя свой формат VTEX.
Note.pngПримечание:Кроме того, форматы с 1-битным альфа-каналом, такие как BGRA5551 или BGR888_BLUESCREEN, не так надежны, как форматы с 4-битным или 8-битным альфа-каналом, и часто воспринимают все изображение как непрозрачное, а прозрачные пиксели отображаются как черные.
В любом случае следует избегать форматов с 1-битным альфа-каналом (кроме GoldSrc), даже при использовании $alphatest, так как это приведет к неточной прозрачности на мип-картах.
Note.pngПримечание:Source, Strata Source и Source 2 поддерживают текстуры HDR без плавающей запятой, однако предпочтение отдается ей, так как это обеспечивает более высокую точность по сравнению с текстурой. Яркость. VTEX по умолчанию используется с плавающей запятой при использовании nocompress с pfm (см. HDR создание текстуры неба).