Каковы преимущества нормалей в касательном пространстве к нормалам в объектном пространстве для расчета рельефного отображения?
Каковы преимущества нормалей в касательном пространстве к нормалам в объектном пространстве для расчета рельефного отображения?
Ответы:
Все, правда.
Единственное преимущество нормалей объектного пространства - простота. Они проще в использовании.
Нормы касательного пространства требуют базиса касательного пространства, но предлагают:
Возможность использовать одну и ту же текстуру для разных поверхностей. Карты нормалей в пространстве объектов можно использовать только на той поверхности, для которой они были созданы. Регулируя нормали в касательном пространстве, вы получаете свободу использовать одну и ту же текстуру выпуклости для разных поверхностей. Пока поверхность имеет касательную пространственную основу, вы получите разумные результаты.
Возможность изменять наложение текстуры, например, с помощью UV-анимации. Так как карты нормалей в объектном пространстве хранят нормали в объектном пространстве, вы не можете просто добавить 0,5 ко всем координатам текстуры и ожидать получения правильных нормалей из текстуры. Вы можете с помощью касательного пространства Bump Mapping.
Меньшее представление компонентов. Карты нормалей в пространстве объектов должны иметь 3 компонента; Вы не можете бросить один и восстановить его в шейдере. Нормы касательного пространства всегда будут иметь положительный Z-компонент, поэтому вы можете хранить только XY нормали. Таким образом, вы можете получить более высокую точность, используя форматы a GL_RG16_SNORM
или (32 бита на тексель), или использовать сжатие с использованием формата RG-сжатого изображения ( 8 бит на тексель). Вы можете попробовать использовать S3TC на карте нормалей в пространстве объектов, но удачи в том, что вы получите.GL_RG16F
GL_COMPRESSED_SIGNED_RG_RGTC1
Абсолютное большинство, которое вы получаете с картами норм пространства объекта, - это меньшее время вычислений (не нужно преобразовывать направление света в касательное пространство или, наоборот, преобразовывать нормаль из касательного пространства в пространство модели). Но это не имеет большого значения, особенно в наши дни, когда бегают отложенные рендеры.
Частичный ответ, чтобы добавить к ответу Николь.
Много преимуществ. Согласно статье, которую я нашел (которая также связана в комментариях), все еще есть некоторые небольшие недостатки. Однако с художниками, которые привыкли иметь дело с этими проблемами, или с объектами, которые как-то менее подвержены этим проблемам, этот недостаток может быть не очень значительным.
Из статьи о нормальном отображении касательного пространства :
Хотя хорошая реализация может ограничить проблемы, фундаментальная идея нормального отображения имеет свои недостатки. Развертывание сложных моделей и наложение швов на менее открытых участках может оказаться сложной задачей для художников. На следующих изображениях показаны карты нормалей пространства объектов (слева) и карты нормалей касательного пространства (справа). Здесь карты нормалей пространства объектов вызывают намного меньше проблем, потому что билинейная фильтрация смягчает края, а плоские поверхности имеют просто одну нормаль и поэтому идеально плоские. Швы на левой стороне гораздо менее заметны, поскольку затенение не зависит от расположения UV и искажений треугольника.
Карты нормалей пространства объектов:
Касательные космические нормальные карты: