Что такое шейдеры?

Шейдеры — это набор инструкций для графического процессора (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.