Подтвердить что ты не робот

Какова логика определения вектора min/max в GLSL?

Я немного удивлен, что не знаю этого уже, но мне никогда не больно признавать, что вы все еще учитесь :)

В GLSL есть функции min и max, которые, согласно их документации:

вернуть меньшее/большее из двух значений

Но как это определяется, когда значения являются векторами? Очевидно, что (1, 1) будет меньше (2, 2), но что такое min или max (1, 3) и (4, -2)? Где формально описывается эта логика?

4b9b3361

Ответ 1

Цитата из первого источника, который я мог найти (PDF), в верхней части §8.3 Общие функции, стр. 132:

Все они работают по компонентам. Описание для каждого компонента.

Почти все функции, которые операторы на векторах, но на самом деле имеют смысл только для скалярного, работают по компонентам. (Это включает в себя abs, sign, floor, trunc, round, roundEven, ceil, fract, mod, modf, min, max, clamp, mix, step, smoothstep и многое другое.)

Так, например, min (1, 3) и (4, -2) является (1, -2).