• ,

Особенности рисования текстур, связанные с мипмэпами


Движки практически всех современных игр используют несколько вариаций (мипмэпов) каждой текстуры. Если зашкуренный объект находится на таком расстоянии, когда один пиксель текстуры соответствует пикселю экрана или немного ближе, то используется обычная текстура без каких-либо искажений. При дальнейшем приближении камеры шкура начинает замыливаться, а при удалении- заменяться мипмэпами, которые представляют из себя уменьшенные копии основной текстуры.

Текстура танка Battle Master и её мипмэпы из C&C Generals
Рис. 1. Текстура танка Battle Master и её мипмэпы из C&C Generals

Обычно площадь мипмэпов относительно оригинальной шкуры при каждой итерации уменьшается в 4 раза (линейные размеры- в 2 раза). То есть, если оригинал имеет площадь в 256² пикселей, то у мипмэпов они будут равны 128², 64², 32², 16², 8², 4² и 2² пикселей.

Существуют различные алгоритмы фильтрации текстур, регламентирующие границы появления мипмэпов. При билинейной фильтрации текстуры и мипмэпы заменяются на младшие (более мелкие) немедленно, когда их разрешение становится меньше области экрана, на которой находится полигон с текстурой. В настоящее время широкое распространение получила анизотропная фильтрация. Её алгоритм позволяет видеть основную шкуру или соответствующий расстоянию от камеры мипмэп на удалении от экрана (или поворота полигона) большем, чем при использовании билинейной и трилинейной фильтрациях.



Правило двух. Как было описано выше, все мипмэпы создаются способом уменьшения основной текстуры по площади в 4 раза в каждой итерации. Из этого следует, что наименьшим искажениям при их генерации будут подвергаться изображенные на шкуре детали, имеющие линейные размеры, кратные числам в степени 2.

РисунокРисунокРисунокРисунок
Рис. 2. Примеры генерации мипмэпа для текстур, удовлетворяющих «правилу двух». Масштаб изображений увеличен в 2 раза

РисунокРисунокРисунокРисунок
Рис. 3. Примеры генерации мипмэпа для текстур, не удовлетворяющих «правилу двух». Масштаб изображений увеличен в 2 раза

Совсем не обязательно выполнять это правило для всего, что находится на текстуре. Более продуманным будет концентрация вашего внимания на повторяющихся деталях, например, на сетках машинного отделения, радиатора или рабицы; параллельных ребрах жесткости, траках гусениц, железнодорожных шпалах, кирпичах и других похожих элементах. На рис. 2 и 3 изображены примеры генераций мипмэпов для текстур с применением и без применения «правила двух». Сравнив эти два рисунка, можно убедиться в том, что правило работает.



Правило контраста. Для того, чтобы объект не терял своих деталей при удалении, его часто приходится выделять отличным от фона цветом. В противном случае такие элементы могут исчезнуть при создании мипмэпов.

У художников по шкурам самыми популярными приёмами являются осветление выпуклых деталей, создание рассеянной тени вокруг них и затемнение углублений. Реже используется окрашивание сливающихся объектов в другой цвет, художественные подтеки масла или грязи, огибающие его.

Правило контраста применимо для шкур техники, искусственных сооружений, флоры, элементов ландшафта и персонажей. Одним словом оно универсально.



Возможность ретуши мипмэпов. Если вы сохраняете свою текстуру в формате *.dds через Photoshop с NVidia Plugins, то программа автоматически сгенерирует вам файл, содержащий мипмэпы. Так же этот плагин дает Вам возможность открыть текстуру *.dds с загрузкой содержащихся в нем мипмэпов (для этого нужно поставить галочку перед надписью Load MIP Maps в появившемся после закрытия диалога Open небольшом окошке).

Когда файл откроется, можно приступать к ретуши мипмэпов. Пример изображен на рисунке 4.

Рисунок
Рис. 4. Пример текстуры с ретушированными мипмэпами из мода Contra. Можно заметить, что на этой текстуре «правило двух» не применялось для сетки МТО

Предложения по дополнению и исправлениям в этой статье, а так же просьбы по написанию новых Вы можете оставить в комментариях ниже или отправить личным сообщением/почтой.
  • +1

  • 0

6 комментариев

Woo
  • Woo
  • 0
Хочется добавить, что возможности верстки статей в блоге омерзительны. После Редиски с её арсеналом тегов HTML ощущается сильнейший ДИСКОМФОРТ.
NKA
+1

И комменты редить нельзя, фото нельзя по клику увеличивать (нужно поставить плагин, открывающий фото в ссылке-префью не в новом окне, а в маленьком окошке прямо здесь
Knight
Лично меня бесит лишь то, как блог сам реагирует на большинство используемых тегов.
Как будто пьян наш блог сейчас
NKA
Точнее то, что он на них вообще не реагирует, он поддерживает только те, которые в «подсказке» прописаны
Unwelcom
учту ваши пожелания товарищи
scutosaurus
Весьма полезная информация.

Оставить комментарий