123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- #version 420
- struct S
- {
- vec3 color;
- };
- layout(location = 0) out vec3 OutColor;
- flat in int u;
- void GetColor1(const S i)
- {
- OutColor += i.color.x;
- }
- void GetColor2(const S i, int comp)
- {
- OutColor += i.color[comp];
- }
- void GetColor3(const S i, int comp)
- {
- OutColor += i.color[comp].x;
- }
- void GetColor4(const S i, int comp)
- {
- OutColor += i.color[comp].x;
- }
- void GetColor5(const S i, int comp)
- {
- OutColor += i.color;
- }
- void GetColor6(const S i, int comp)
- {
- OutColor += i.color.yx[comp];
- }
- void GetColor7(const S i, int comp)
- {
- OutColor.xy += i.color.yxz.yx;
- }
- void GetColor8(const S i, int comp)
- {
- OutColor += i.color.yzx.yx.x.x;
- }
- void GetColor9(const S i, int comp)
- {
- OutColor.zxy += i.color;
- }
- void GetColor10(const S i, int comp)
- {
- OutColor.zy += i.color.xy;
- }
- void GetColor11(const S i, int comp)
- {
- OutColor.zxy.yx += i.color.xy;
- }
- void GetColor12(const S i, int comp)
- {
- OutColor[comp] += i.color.x;
- }
- void GetColor13(const S i, int comp)
- {
- OutColor.zy[comp] += i.color.x;
- }
- void GetColor14(const S i, int comp)
- {
- OutColor.zyx[comp] = i.color.x;
- }
- void main()
- {
- S s;
- OutColor = vec3(0.0);
- GetColor1(s);
- GetColor2(s, u);
- GetColor3(s, u);
- GetColor4(s, u);
- GetColor5(s, u);
- GetColor6(s, u);
- GetColor7(s, u);
- GetColor8(s, u);
- GetColor9(s, u);
- GetColor10(s, u);
- GetColor11(s, u);
- GetColor12(s, u);
- GetColor13(s, u);
- GetColor14(s, u);
- }
|