» Подготовка текстур
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Подготовка текстур

English

О подготовке текстур

Нод FileTexture (EX9.Texture) поддерживает графические форматы BMP, JPG, TIF, TGA, PNG, DDS. Текстуры из файлов загружаются в память. Для оптимизации использования памяти (и соответственно лучшей скорости загрузки и качества отображения), готовьте текстуры в размере 16x16, 32x32, 64x64, 128x128, 256x256, 512x512, 1024x1024, 2048x2048 или 4096x4096 пикселей.
Чем меньше размер текстуры, тем быстрее она загружается и обрабатывается.

Совет: Если вы работаете с прямоугольной картинкой, сплющите ее до квадрата. При использовании такой текстуры в vvvv, она автоматически растянется на заданный размер объекта, так что вы не увидите ухудшения качества и выиграете в скорости загрузки.

Создаем текстуры с альфа-каналом (прозрачностью)

PNG (.png) - cамый удобный формат для прозрачных текстур. Если вы работаете в фотошопе, вам даже не нужно создавать дополнительный альфа-канал, потому что прозрачность слоя автоматически сохраняется как прозрачность по альфа-каналу.
TARGA (.tga) - так же возможен. При подготовке текстуры .tga в фотошопе, не забудьте создать отдельный канал для альфа-канала и объединить все слои.
JPEG (.jpg) и BITMAP (.bmp) не поддерживают альфа-канал.

Как vvvv работает с разрешением текстур? Похоже, что картинка немного искажена.

Действительно искажена. DirectX оптимально работает с квадратными текстурами, 16х16, 32х32 и т.д. Нод FileTexture (EX9.Texture) делает это автоматически во время загрузки текстуры. У этого нода есть пины для установки разрешения и пропорций, но могут быть ограничения размера в видеокарте.
Чтобы оптимально использовать картинку очень высокого разрешения или в вытянутой пропорции, разрежьте ее на квадраты и используйте спред из квадратов, применив каждый фрагмент к нужному квадрату (как, например, в обычных паззлах).

Принудительное изменение размера текстуры значительно увеличивает время загрузки и может понизить качество отображения текстуры. Так что, это очень хорошая привычка делать квадратные текстуры (32, 64, 128, 256, 512, 1024 пикселей), чтобы не тратить ресурс видеокарты на преобразования.

Форматы сжатия (компрессия)

При одновременной загрузке большого количества текстур, рекомендуется использовать форматы с компрессией для экономии памяти. Установить формат сжатия для текстуры можно в Инспекторе, выбрав нод FileTexture (EX9.Texture).

Формат сжатия DXT включает в себя форматы DXT1, DXT2, DXT3, DXT4 и DXT5. DXT1 дает наибольшее сжатие, используя 4-бита на каждый пиксель, но он не обрабатывает альфа-канал (если он есть, то ему уделяется 1-бит). DXT2/3 очень близки к DXT1, но используют дополнительные 4-бита для альфа-канала, что вдвое увеличивает размер занимаемого места в памяти. В формате DXT2 все данные предварительно умножаются на альфа-канал, а в DXT3 - нет. Форматы DXT4/5 отличаются от DXT2/3 тем, что при сжатии изображения исключают интерполяцию альфа данных. DXT2 / 3 / 4 / 5 дают уровень сжатия 4:1, а DXT1 - 8:1 без использования альфа-канала или 6:1.

Сравнение форматов сжатия

FOURCC Description Alpha premultiplied Compression ratio Picture Type
DXT1 Opaque / 1-bit Alpha N/A 8:1 / 6:1 Simple non-alpha
DXT2 Explicit alpha Yes 4:1 Sharp alpha
DXT3 Explicit alpha No 4:1 Sharp alpha
DXT4 Interpolated alpha Yes 4:1 Gradient alpha
DXT5 Interpolated alpha No 4:1 Gradient alpha

подробное описание на английском: Wikipedia DXT file format

anonymous user login

Shoutbox

~6min ago

tonfilm: Just updated the CraftLie rendering pack to latest: craftlie-dx11-drawing-for-vl

~4d ago

microdee: 2 seconds later: I asked before googling, but why do you need OS support for texture compression?

~4d ago

microdee: what's BC7?

~4d ago

antokhio: https://aka.ms/AA65g28 upvote pls for bc7 support in windows

~6d ago

joreg: PSA: forum is back up and running!

~6d ago

manuel: that shaderFX looks great

~6d ago

joreg: PSA: the forum is currently down for maintainance. if all goes well it will be back up shortly..