正确的关系运算符/函数用于比较vec3值?

时间:2017-06-07 09:06:36

标签: opengl compare glsl

我试图检查vec3值是否具有相同的组件。

int same = 0;

vec3 v1 = vec3(1.0f, 0.0f, 0.0f);
vec3 v2 = vec3(0.0f, 0.0f, 0.0f);

if (v1 == v2) // <- this part
{
    same = 1;
}

是否= vec3类型的正确关系运算符?

如果没有,我可以使用什么(操作符和函数也可以)来比较vec3值?

1 个答案:

答案 0 :(得分:1)

GLSL 4.5 Specification,第5.9节规定:

  

等于运算符等于(==),而不等于(!=)对所有类型[...]进行操作。它们会产生标量布尔值。 [...]对于向量,矩阵,结构和数组,   一个操作数的所有组件,成员或元素必须等于相应的组件,   成员,或操作数的另一个操作数中的元素被认为是相等的。

回答你的问题:是的,==运算符比较天气两个向量在所有组件中具有相同的值。