Как работают сэмплеры под капотом Texture Object в Unreal Engine[РЕШЕНО]

Использую свой кастомный шейдер на hlsl для генерации поверхностей и покрытия их текстурами. Столкнулся со странным поведением TO при Sampler Type = Normal. Чтобы нормальная карта корректно наложилась, нужно инвертировать нормаль поверхности. Такой тип сэмплера есть в движке на карте с чайником, фото ниже. Если тип Linear Color, то нормальная карта накладывается корректно. Чисто по приколу потыкал в куски алгоритма где распакоука нормали, но ожидаемо ничего хорошего не получил, оно же не переворачивает нормаль кверху ногами.

Отсюда и вопрос: а что там под капотом такое происходит.

Интересно ещё, что меняется отображение нормали в ноде. Как будто она уже вытащена из текстуры и наложена на плоскость. Что, опять же, не отвечает на вопрос, почему инверсия нормали поверхности фиксит проблему.

Linear Color для примера ниже отображается просто, как текстура
Linear Color для примера ниже отображается просто, как текстура
1
11 комментариев