我有一个vec2包含x和y坐标.我需要确保它们都大于16.我的第一次尝试:
if (gl_FragCoord.xy > 16.0) {
// do something..
}
Run Code Online (Sandbox Code Playgroud)
它无法使用"无匹配操作数"错误进行编译.
如果我分别比较矢量的每个维度,它就有效.
if ((gl_FragCoord.x > 16.0) && (gl_FragCoord.y > 16.0))
// do something..
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法一次检查向量的所有元素?
有一个用于组件比较的函数,它产生一个布尔向量,然后另一个用于检查布尔向量的组件:
if (all(greaterThan(gl_FragColor.xy, vec2(16.0))) {
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
427 次 |
| 最近记录: |