You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
975 B
66 lines
975 B
4 months ago
|
#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
|
||
|
|
||
|
|
||
|
}
|