Как работает UVW текстурное наложение?

13

Я пытаюсь понять математическую теорию картографирования UVW. Может кто-нибудь объяснить мне, как работает UVW картирование? Или хотя бы предоставить мне указатель?

разъем
источник
2
Возможный дубликат Что такое UV и UVW Mapping?
bummzack
Спасибо, но мне все еще не ясно, что означает W. Есть ли какая-то книга для подражания?
Джек
Я думаю, что W просто в том, что текстуры обычно имеют 3 канала, я не знаю, как это можно использовать.
Эльва
1
@Yourdoom W не имеет никакого отношения к количеству каналов, которые имеет текстура. Скорее используется для 3d-текстур или перспективного текстурирования.
Крис говорит восстановить Монику
4
XY - это XYZ, а UV - это UVW. W - это просто буква, используемая при описании 3-го измерения текстуры.
MichaelHouse

Ответы:

14

Я так понимаю. Может быть совершенно неправильно, но я уверен, что кто-топламя поправьте меня если я ошибаюсь.

Математическая теория UV-текстурного сопоставления аналогична теории UV-текстурного картографирования.

Смотрите ссылку Bummzack здесь: Что такое UV и UVW Mapping? чтобы получить лучшее объяснение того, что такое УФ-картирование. По сути, вы отображаете область текстуры на область поверхности. Интерполяция промежуточных значений на основе этих отображений.

То же самое с UVW. За исключением того, что сейчас вы отображаете объем текстуры на объем поверхностей. Интерполяция промежуточных значений. Теперь с 3-м измерением вы можете деформировать 2-мерную текстуру, чтобы лучше соответствовать объекту.

Давайте посмотрим, как это используется в 3D текстурах. 3D текстуры могут быть созданы слоями 2D текстур и интерполируя тексели между ними. Визуально 3D-текстура может выглядеть примерно так:

Пример 3D текстуры

Где «плоскости» на оси R - это 2D текстуры. Если бы мы установили каждый слой на другой сплошной цвет и применили его к 3D-объекту, мы получили бы что-то вроде этого:

3D текстура применяется

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

Пейзаж

Теперь, если мы используем только одну R-плоскость (одну 2D-текстуру), но отображаем 3D-объект? Очевидно, что это не дает такой гибкости, как множественные слои текстур, но это, безусловно, намного меньше работы. Однако простое проецирование 2D-текстуры на 3D-поверхность может вызвать некоторые проблемы. Подумайте о ситуации, когда вы светите лазером на стену. Под перпендикулярным углом лазерная точка хороша и круглая. Под любым другим углом точка начинает растягиваться и наклоняться. То же самое произойдет при проецировании 2D-текстуры на 3D-поверхность. Любое лицо, которое не перпендикулярно проекции, будет искажено. Как мы это исправим? Искажая проекцию. Возьмите лазерный пример, если у нас был лазер, который, когда светился на перпендикулярной поверхности, был растянут и перекошен. Когда мы направили этот лазер на наклонную стену, угол мог "Третье измерение позволяет нам «формировать» проекцию так, чтобы она соответствовала поверхности, на которую мы нацеливаемся. Например, какая-то волнистая трехмерная поверхность может иметь такую ​​текстуру (но не такую ​​грубую):

Crummy 2D текстура расширена до 3D

Как я уже сказал, это только мое понимание этого. Я согласен, на эту тему не так много хорошей информации. Надеемся, что этот (вероятно, неправильный) ответ побудит кого-то с большим знанием предмета высказаться.

Изображения для 3D-текстур взяты с этой страницы: http://www.gpwiki.org/index.php/OpenGL:Tutorials:3D_Textures

MichaelHouse
источник