И GLSL, и OpenCL имеют функцию зажима, которая фиксирует число к вставленной верхней или нижней границе, если значение превышает границы.Если бы я попытался реализовать что-то подобное в C ++, это выглядело бы как следующий код:
if(i < min){
i=min;
}else if(i > max){
i=max;
}
Однако это имеет несколько путей ветвления, которые, как я понимаю, могут немного замедлить GPU, как и большинство других.из них придется выполнять все ветви.
Так как же работает зажим GLSL / OpenCL и если он использует ветви, вы порекомендуете избегать его, если это возможно?