#version 310 es | |
#define X 1 | |
#define Y clamp | |
#define Z X | |
#define F 1, 2 | |
#define make_function \ | |
float fn ( float x ) \ | |
{\ | |
return x + 4.0; \ | |
} | |
make_function | |
int main() { | |
gl_Position = vec4(X); | |
gl_Position = Y(1, 2, 3); | |
gl_Position = vec4(Z); | |
gl_Position = vec4(F); | |
gl_Position = vec4(fn(3)); | |
[] . ++ -- | |
+ - * % / - ! ~ | |
<< >> < > <= >= | |
== != | |
& ^ | && ^^ || ? : | |
+= -= *= /= %= <<= >>= &= |= ^= | |
1.2 2E10 5u -5lf | |
} | |
struct S { | |
int member1; | |
float member2; | |
vec4 member3; | |
}; | |
#define xyz xxyz | |
#define yzy() yyz | |
#define FUN_MAC() \ | |
vec3 a = vec3(0); \ | |
vec3 b = a.zxyz; \ | |
vec3 b = a.xyz; \ | |
vec3 b = a.yzy(); \ | |
vec3 b = a.xyz(); \ | |
vec3 b = a.yzy; \ | |
vec3 b = a.z; | |
void foo() | |
{ | |
S s; | |
s.member2 + s.member1; | |
s.member3.zyx; | |
s.member2.xyz; | |
s.member2.yzy(); | |
s.member2.xyz(); | |
s.member2.yzy; | |
FUN_MAC() | |
yzy | |
(); | |
yzy | |
} |