Уроки по програмированию в С+ OpenGL_GLSL часть третья.
\-Базовые знания \- Шейдеры \-Урок3: Условные конструкции, циклы
Урок3: Условные конструкции, циклы
Поддержка условных конструкций присутствует на всех видеокартах, поддерживающих шейдеры, но реализована она разными способами. Ветвление (branching) доступно только начиная с GF6xxx, до этого считались все ветви и затем результат отсекался с использованием математических функций (например clamp). Разумеется, это снижало производительность.
Помимо стандартных операций сравнения ( <, <=, >=, >, ==, != ) в GLSL присутствуют также операции сравнения векторов (lessThan, lessThanEqual, notEqual, ...), причем они сравнивают покомпонентно и возвращают boolean-вектор с размерностью, равной размерности сравниваемых векторов.