2021-11-26

Шейдеры

Пример шейдера

Грубо говоря, шейдер это программа, на вход которой поступают координаты пикселя, время, позиция курсора, размер “экрана”, а на выходе она отдаёт цвет, который должен иметь пиксель. Так как соседние пиксели не знают о состоянии друг друга, шейдеры хорошо параллелизуются.

https://www.khronos.org/opengl/wiki/Shader

Шейдеры описываются на языке GLSL (OpenGL Script Language). Например, чтобы залить экран красным цветом можно написать:

void main() {
  gl_FragColor=vec4(255, 0, 0, 1);
}

Есть несколько сервисов где можно “поиграться” c шейдерами и в реальном времени увидеть результат:

Для желающих погрузится глубже могу порекомендовать The Book Of Shaders (в процессе написания) и аккаунты в Твиттере: