» Подготовка текстур
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

~2d ago

h99: Moon, dammit

~2d ago

h99: NASA's CGI Monn kit https://svs.gsfc.nasa.gov/4720

~2d ago

~4d ago

joreg: Two #vvvv workshops this week in #berlin: Friday: Physical Computing, Saturday: Computer Vision. Tickets: upcoming-full-day-vvvv-gamma-workshops-in-berlin

~5d ago

joreg: @cznickesz also feel free to join our chat for such questions: chat

~5d ago

cznickesz: @joreg: Yeah, I´ll give it a try! Thx

~5d ago

joreg: @cznickesz: we're hoping this week. but depends on feedback. please test your project and let us know if it works.

~5d ago

cznickesz: @joreg: I should stop asking my questions so cryptic ;-) So right away: is final Beta39 hours, days or weeks away?

~5d ago

joreg: @cznickesz: the idea of an RC is exactly to make sure your projects will work with it. your last chance to report problems with b39.

~5d ago

cznickesz: So how "RC" is the "RC3"? I have to update an old project soon and I´m wondering if I should wait and directly update to Beta39