Как поместить текстуры в один файл (степень 2) - PullRequest
0 голосов
/ 29 июня 2010

Я хочу создать большую текстуру со степенью 2 и поместить в этот файл множество текстур меньшего размера. Вы знаете, у меня есть несколько текстур, которые не имеют степени 2, поэтому я не могу загрузить их в свою программу. Я должен поместить их в один файл (например, 512x512).

Знаете ли вы какую-либо программу, которая может сделать это для меня автоматически? Есть ли ограничение по размеру текстуры? Могу ли я использовать, например, файл 8192x8192? Или я должен использовать несколько меньше.

Ответы [ 2 ]

0 голосов
/ 07 января 2011

Есть несколько приложений, которые могут помочь вам упаковать изображения в текстурный атлас. Zwoptex имеет бесплатную версию Flash и коммерческое приложение для Mac. TexturePacker имеет приложение для Mac и Windows, а также версию для командной строки, некоторые функции бесплатны, а некоторые требуют платной лицензии.Они выводят упакованные изображения в одно изображение и связанный файл данных с координатами местоположения упакованных изображений.Они также могут обрезать прозрачные области вокруг любого данного изображения, если таковые имеются, экономя еще больше места.

В ответах на этот вопрос есть еще несколько инструментов с открытым исходным кодом

Преимущества упаковки в одну текстуру - это потенциальная экономия пространства, а также меньшее изменение состояния OpenGL при рисовании нескольких изображений из текстуры для повышения производительности.

0 голосов
/ 29 июня 2010

Ключевое слово, которое вы ищете: текстурный атлас .

Максимальный размер текстуры зависит от графического процессора, 8K подходит для новых карт.Однако такая текстура потребляет огромное количество видеопамяти (и она ухудшается, если считать в MIP).Поэтому может быть лучше использовать несколько текстур меньшего размера и иметь только те (в горячем) видеопамяти, которые вам действительно нужны.

...