Ответ: Шейдеры освещение
Он вроди как всё ещё есть в поставке примеров с Xors'ом.
Суть простая, тебе нужно каким либо образом симулировать по геометрии переход, простой переход от чёрного к белому (0 - 1.0). Я делал двумя методами, и на видео тут вижу тоже вроди как они же.
Первый - это есть точка в пространстве, увеличиваем дистанцию, все пиксели что поподают в радиус интерполируются в 1.0 от нуля. За радиусом всё 0. Далее высотная карта (чёрно белая, имеет данные 0.0 - 1.0) может также использоваться для смещений параметра, чтобы избавиться от тупо округлой формы дистанции и внести какую-то рябь.
Далее этот параметр от 0 до 1, используешь как маску для смешивания двух палитр - диффуза и палитры горения / заморозки (или чего ещё нада).
Тогда я сделал вручную цвета, а сейчас использовал бы просто 1D Gradient текстуру, которая бы содержала данные о переходе, а также цветах. Таким образом можно было бы заменять просто текстуру или даже генерировать динамично в шейдере для интересных эффектов.
Основной принцип объяснён выше, но чтобы чуток упростить, можно не использовать какую-либо точку в пространстве, а лишь высотную карту. Таким образом будет по всему объекту переход.
Вообще сложно объяснить такой шейдер, ты попробуй подумать смекалкой и поэкспериментировать. Попробуй разбить на какие-то трюки / компоненты сам шейдер, и реализовать их по отдельности для тренировки. Потом полная идея и реализация будет явной.
|