Картинка · курс
Техарт: шейдеры руками
13 уроков · 3 главы
Для тех, кто хочет писать свои эффекты: код шейдера с нуля, фигуры и узоры формулами, производные, движение, рисунок по миру и анимация в текстуре, стилизованный рендер, свой пост-процесс, вода и raymarching. Читать по порядку.
Курс ещё пишется. Готово уроков: 0 из 13.
Глава 1 · Шейдер руками
1Шейдерный код: HLSL на пальцахскороКак читать и писать код шейдера с нуля: числа и векторы, функции, выборка текстуры, условия и почему у видеокарты своя манера считать. То же, что граф нод, только строчками.2Свой код в материале: нода Custom в UnrealскороПо шагам: нода Custom, входы и выход, первая функция, ошибки компилятора и как вынести код в общий файл, чтобы пользоваться им в разных материалах.3Фигуры формулами: круги, полосы и звёзды в шейдерескороКак нарисовать фигуру без текстуры: расстояние до формы, мягкий край через smoothstep, сложение и вычитание фигур, повтор по сетке. Основа процедурных масок, интерфейса и эффектов.4Полярные координаты и узоры: лучи, спирали и плиткискороКак превратить UV в угол и расстояние от центра и получить лучи, спирали, кольца и радар; как поворачивать, отражать и повторять узор по плиткам.5Производные в шейдере: ddx, ddy и чёткий крайскороКак пиксель узнаёт, насколько быстро меняется значение у соседей: блоки 2 × 2 пикселя, выбор мипа, нормаль из высоты без текстуры и край фигуры, который не рябит на любом расстоянии.
Глава 2 · Приёмы
6Движение в шейдере: ветер, волны и пульсацияскороКак оживить мир без анимации: смещение вершин по времени и маскам, волны из синусов, бегущие текстуры, иерархия ветра от ствола к листу и почему тени и столкновения при этом отстают.7Рендер-таргеты: следы на снегу и рисунок по мирускороКак материал рисует в текстуру во время игры: следы в снегу, примятая трава, круги на воде, карта тумана войны. Где хранится результат, как он следует за игроком и сколько это стоит.8Анимация в текстуре: симуляцию играет шейдерскороКак разрушение, ткань или толпу посчитать заранее, записать положения вершин в текстуру и проиграть в шейдере почти даром: что хранится в пикселях, точность, длина и где этот приём ломается.9Стилизованный рендер: тун, контуры и мазкискороКак сделать картинку рисованной: ступенчатый свет, контуры по глубине и нормалям, штриховка и мазки, свои кривые освещения. Как совместить стиль с движком, который считает свет физически.10Свой пост-процесс: контуры, пиксели и сканерскороКак написать свой эффект на весь кадр: чтение глубины и нормалей, обводка предметов, пикселизация, волна сканера, подсветка сквозь стены — и где в цепочке кадра он встаёт.11Шейдер воды своими рукамискороПо шагам: цвет по глубине, две бегущие карты нормалей, преломление дна, отражение неба, пена у берега и проверка с камеры игрока при любом свете.
Глава 3 · Объёмы и цена
12Raymarching: формы и объёмы без треугольниковскороКак нарисовать облако, шар или фрактал шагами по лучу через поле расстояний: шаг вдоль луча, нормаль из градиента, мягкие тени и где эта техника живёт в играх — облака, туман, эффекты.13Цена шейдера: как считать и экономитьскороИз чего складывается стоимость пикселя: инструкции, выборки текстур, зависимые выборки, ветвления и варианты. Как читать статистику материала и какие приёмы экономят, а какие только кажутся экономией.