Что такое шейдеры?
Шейдеры — это набор инструкций для графического процессора (GPU), которые выполняются одновременно для каждого пикселя на экране. Итак, это программа, которая отображает разные пиксели на экране.
Итак, если вы назначаете шейдеру пиксель в определенной позиции, и он возвращает новое значение для этого пикселя. Например, шейдер может сказать: «для всех пикселей на экране/изображении посмотрите на их значение RGB и добавьте значение X к каналу RED». Это приведет к красноватому наложению на изображение или экран.
Шейдер также может выполнять такую задачу, как увеличение канала xColor по мере увеличения координаты Y, что приведет к некоторому эффекту градиента. Он также может выводить цвет на основе времени, например, используя волновые функции, такие как sin или cos, которые дадут другое значение цвета с течением времени.
Шейдеры широко используются в играх, таких как рендеринг подробных теней, текстур, отражений, освещения и т. д. Часто можно увидеть, как шейдеры упаковываются в виде модов для таких игр, как Minecraft, превращая унылую, пиксельную игру в потрясающую, залитый солнцем пейзаж.
GLSL означает язык шейдеров openGL, который является особым стандартом шейдерных программ.
В основном мы работаем с вершинными и фрагментными шейдерами.
Вершинный шейдер(GL_VERTEX_SHADER) является наиболее популярным шейдером и запускается один раз для каждого вершинного шейдера в процессоре. Основной целью является преобразование каждой 3D-позиции в 2D-координату, которая появляется на экране. Он может управлять такими свойствами, как положение, текстура, цвет, а также может быть надежным в деталях движения, освещения и любой сцены, включающей 3D-модель.
Фрагментный шейдер (GL_FRAGMENT_SHADER) — это шейдер, который вычисляет цвет и другие атрибуты фрагментов, сгенерированных растеризацией, в одно значение глубины, т.е. выходной пиксель. Пиксельные шейдеры варьируются от вывода оттенков цвета до применения глубины и освещения.
Что такое WebGL?
WebGL (библиотека веб-графики) – это API-интерфейс JavaScript для визуализации высокопроизводительной интерактивной 3D- и 2D-графики в любом совместимом веб-браузере без использования подключаемых модулей.
Программы WebGL состоят из управляющего кода, написанного на JavaScript, и кода шейдера (GLSL), который выполняется на графическом процессоре (GPU) компьютера. Элементы WebGL можно смешивать с другими элементами HTML и комбинировать с другими частями страницы или фоном страницы.
— МДН
Использованная литература.
Стажер Full Stack Web Dev в Websmith Solution.