Готовый перевод Stage3D / AGAL from scratch. Part VIII – Texture, please ! / Изучаем Stage3D / AGAL с нуля. Часть VIII – Пожалуйста, текстуры !: MIP-текстурирование

Как я не пытался, но написать что такое мипмаппинг своим языком так, чтобы вы поняли, у меня не получилось, поэтому позвольте мне процитировать Википедию:

В компьютерной 3D графике, мипмапами (или Мип-картами) называют предрассчитанный, оптимизированный набор изображений связанных с одной текстурой и предназначенный для увеличения скорости рендеринга и улучшения качества изображения.

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

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

Мы уже знаем, что для каждого пикселя, который должен быть отрисован, шейдер получает цвет пикселя из образца текстуры ориентируясь на значения UV.

Первая проблема, возникающая при этом, заключается в том, что если текстура большая, то этот процесс займет некоторое время.

Второй и более важной проблема, является то, что на большом удалении от объекта, когда объект становится очень маленьким, вы можете поиметь уйму проблем с выборкой из текстуры, из- за чего ваши объекты будут мерцать.

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

GPU будет автоматически выбирать между двумя изображениями в зависимости от текущего расстояния до объекта.

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

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

Но есть хорошие новости, сейчас применяются различные технологии фильтрации текстур, которые позволяют решать проблему описанную выше.

Ниже, в следующем демо, вы имеете возможность выключать и включать мипмапинг, а также сможете добавить случайный цвет к каждому мип-уровню, для того чтобы вы могли видеть где какая текстура используется.

Переведено на Нотабеноиде
http://notabenoid.org/book/31845/110809

Переводчики: redefy

Настройки

Готово:

100.00% КП = 1.1