比较GLSL中的结构

时间:2017-12-02 16:23:23

标签: opengl glsl shader opengl-3 compute-shader

使用经典等式运算符比较两个相同类型的结构是否安全?我还没有找到任何有关此信息的信息,并且没有选项可以在GLSL中重载此运算符。那么GLSL默认情况下是否按组件比较两个结构?

struct sith
{
   int forceLevel;
   vec3 saberColor;
};
...
sith vader = sith(100,vec3(1.0,0.0,0.0));
sith anakin = sith(100,vec3(1.0,0.0,0.0));
...
if (vader == anakin)
   //is the force strong with this one?

1 个答案:

答案 0 :(得分:3)

  

当使用相等运算符时,当且仅当所有字段都是时,两个结构相等   当且仅当所有元素在元素方面相等时,两个数组相等

- GLSL 1.30 Specification, Page 46, Section 5.7 "Structure and Array Operations"