Stage3D / AGAL from scratch. Part VIII – Texture, please ! / Изучаем Stage3D / AGAL с нуля. Часть VIII – Пожалуйста, текстуры !: MIP-текстурирование
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Как я не пытался, но написать что такое мипмаппинг своим языком так, чтобы вы поняли, у меня не получилось, поэтому позвольте мне процитировать Википедию: redefy 19.08.12 в 15:49 |
|
|
Мы уже знаем, что для каждого пикселя, который должен быть отрисован, шейдер получает цвет пикселя из образца текстуры ориентируясь на значения UV. redefy 19.08.12 в 15:58 |
||
|
Первая проблема, возникающая при этом, заключается в том, что если текстура большая, то этот процесс займет некоторое время. redefy 19.08.12 в 16:00 |
||
|
Второй и более важной проблема, является то, что на большом удалении от объекта, когда объект становится очень маленьким, вы можете поиметь уйму проблем с выборкой из текстуры, из- за чего ваши объекты будут мерцать. redefy 19.08.12 в 16:03 |
||
|
Для решения этих проблем, в V-RAM загружается серия изображений, каждое из которых в два раза меньше предыдущего. redefy 19.08.12 в 16:05 |
||
|
GPU будет автоматически выбирать между двумя изображениями в зависимости от текущего расстояния до объекта. redefy 19.08.12 в 16:07 |
||
|
Это хороший прием оптимизации, так как каждая выборка будет занимать меньше времени, но есть и недостаток, при использовании этого приема, потребуется больше V-RAM для хранения каждого изображения. redefy 19.08.12 в 16:10 |
||
|
При использовании мипмапов, возникает еще один артефакт, особенно часто его можно было наблюдать в старых видео играх, он заключает в том, что каждый "слой" текстуры не смешивается с другими, из-за чего вы будете вынуждены наблюдать эффект продемонстрированный здесь. redefy 19.08.12 в 16:16 |
||
|
Но есть хорошие новости, сейчас применяются различные технологии фильтрации текстур, которые позволяют решать проблему описанную выше. redefy 19.08.12 в 16:18 |
||
|
Ниже, в следующем демо, вы имеете возможность выключать и включать мипмапинг, а также сможете добавить случайный цвет к каждому мип-уровню, для того чтобы вы могли видеть где какая текстура используется. redefy 19.08.12 в 16:22 Ниже, в следующем демо, вы имеете возможность выключать и включать мипмапинг, а также сможете добавить случайный цвет к каждому мип-уровню, для того чтобы вы могли видеть где какая текстура используется. redefy 19.08.12 в 16:22 |
