Gl — это адская смесь из линейной алгебры и тригонометрии.
При этом концепция работы с шейдерами невероятно проста — вы получаете на вход пиксель и должны вернуть его цвет обратно. Но есть одна особенность — эта функция знает только об одном пикселе, но ничего не знает о соседних. И вот эта особенность и создает то безумие, что творится внутри шейдера.
Попробуйте, это как минимум интересно.