Вычислить косинус вектора - PullRequest
1 голос
/ 20 января 2020

Я изучаю шейдеры, и мне встретился следующий код GLSL:

vec3 color = cos(vec3(.5,.3,.4));

Как вычислить косинус вектора vec3(.5,.3,.4)?

1 Ответ

0 голосов
/ 20 января 2020

В GLSL большинство функций перегружены, и аргумент может быть вектором. Операции и функции могут работать по компонентам. В случае cos косинус вычисляется для каждого компонента вектора, а результат сохраняется в новом векторе:

Оператор выражения

vec3 color = cos(vec3(.5,.3,.4));

может читаться как

vec3 color = vec3(cos(.5), cos(.3), cos(.4));
...