C语言中类似GLSL的向量访问

时间:2018-05-30 03:57:39

标签: c vector macros unions

在GLSL中,您可以使用名称和索引访问矢量的组件,例如。如果您有vec2 foo,则可以执行foo.xfoo[0]之类的操作。

是否可以在C?

中复制此接口

我目前有以下内容:

typedef union{
  struct{  float x1, x2;  };
  struct{  float  x,  y;  };
  float d[2];
}vec2;

允许我访问vec2 foo foo.xfoo.d[0]的{​​{1}}组件。

是否有可能免除那些讨厌的.d,到达foo[0]? (无论如何,也许使用一些(甚至更糟糕的)宏观技巧?)

0 个答案:

没有答案