我有一个包含x和y坐标的vec2
。我需要确保它们都大于16.我的第一次尝试:
if (gl_FragCoord.xy > 16.0) {
// do something..
}
无法使用“无匹配操作数”错误进行编译。
如果我分别比较矢量的每个维度,它就有效。
if ((gl_FragCoord.x > 16.0) && (gl_FragCoord.y > 16.0))
// do something..
}
有没有更好的方法一次检查矢量的所有元素?
答案 0 :(得分:6)
有一个function for component-wise comparison产生一个布尔向量然后another one to check components of a boolean vector:
if (all(greaterThan(gl_FragColor.xy, vec2(16.0))) {
/* ... */
}