Иридисцентный шейдер
Что здесь происходит?
Здесь используются вертексный и фрагментный шейдера, вертексный делает какие-то рассчёты на вертексах геометрии (довольно логично), а получаемые значения впоследствии интерполируются для фрагментов, где к ним применяется фрагментный шейдер (он же пиксельный).

Что такое иридисценция/иридизация/иризация? Да я хз вообще Это явление, при котором материал может менять цвет при изменении угла зрения или угла падения света
Vertex Shader
Короче, обычный такой вертексный шейдер, ничего необычного, идём дальше
Fragment (Pixel) Shader
- Есть ещё вариант, где для сэмплинга иризации используется
dot(normal, view), но он слишком легок для реализации и менее гибкий, т.к. при вращении вокруг нормали какой-либо точки, цвет в этой точке меняться не будет - Если Т будет косячной, то и результат шейдинга тоже будет косячным, это можно увидеть на полюсах сферы, например
- На строке 60 я умножаю на старую TBN матрицу, без учёта нормал мэппинга. Скорее всего, этог нигде не будет заметно, но правильно было бы найти матрицу World -> Tangent с учётом новой нормали с карты
- Эта штука должна неплохо выглядеть в виаре, где её можно было бы покрутить в руках
Дополнительно
Iridescense - это то, о чём была эта статья, если кто-то ещё не заметил
Normal Mapping - без бамп мэпов этот материал выглядит не так интересно
Phong - сначала я пытался сделать специальный лайтинг для этого материала, но потом решил, что с некоторыми костылями дополнениями дефолтный TDLighting справится не хуже
Книга про шейдеры, я её толком не читал, но там пишут что-то нормальное. Вроде, она всё ещё в разработке
Вообще классная штука, без которой этого шейдера не было бы
Благодарности
Хочу выразить благодарность команде Derivative за разработку такого софта, как TouchDesigner; текстовому редактору Vim, за невероятно удобное редактирование кода; создателю(-ям) OpenGL за создание OpenGL; Аде Лавлейс за то, что она первая женщина-программист, а не хуе-мое; себе за написание данного шейдера; всем, кто дочитал до этого момента, за то, что они дочитали до того момента, и тем, кто подписан на мой канал в телеграме за меняющуюся циферку там сверху; ресурсу rentry.co за хостинг этой статьи; Ж.Ф.Лиотару за термин "постмодернизм"