我想檢查vec3值是否具有相同的組件。用於比較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的值?
我想檢查vec3值是否具有相同的組件。用於比較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的值?
的GLSL 4.5 Specification,第5.9節規定:
等式運算符等於(==)和不等於(!=)對所有類型的操作[...]。它們導致一個標量布爾值。 [...]對於向量,矩陣,結構和陣列,一個操作數的所有組件,成員或元素必須等於對應的組件, 成員或其他操作數中的元素,以使操作數被視爲相等。
要回答你的問題:是的,==
運算符比較天氣兩個向量在所有組件中具有相同的值。
也許['equal()'*(來自我剛剛嘗試閱讀的書)*](https://thebookofshaders.com/glossary/?search=equal) – derM
'equal'將執行組件明智的比較,返回一個布爾向量。 – BDL