1617a3babSopenharmony_ci#version 310 es 2617a3babSopenharmony_ci#define X 1 3617a3babSopenharmony_ci#define Y clamp 4617a3babSopenharmony_ci#define Z X 5617a3babSopenharmony_ci 6617a3babSopenharmony_ci#define F 1, 2 7617a3babSopenharmony_ci 8617a3babSopenharmony_ci#define make_function \ 9617a3babSopenharmony_ci float fn ( float x ) \ 10617a3babSopenharmony_ci {\ 11617a3babSopenharmony_ci return x + 4.0; \ 12617a3babSopenharmony_ci } 13617a3babSopenharmony_ci 14617a3babSopenharmony_cimake_function 15617a3babSopenharmony_ci 16617a3babSopenharmony_ciint main() { 17617a3babSopenharmony_ci gl_Position = vec4(X); 18617a3babSopenharmony_ci gl_Position = Y(1, 2, 3); 19617a3babSopenharmony_ci gl_Position = vec4(Z); 20617a3babSopenharmony_ci gl_Position = vec4(F); 21617a3babSopenharmony_ci gl_Position = vec4(fn(3)); 22617a3babSopenharmony_ci [] . ++ -- 23617a3babSopenharmony_ci + - * % / - ! ~ 24617a3babSopenharmony_ci << >> < > <= >= 25617a3babSopenharmony_ci == != 26617a3babSopenharmony_ci & ^ | && ^^ || ? : 27617a3babSopenharmony_ci += -= *= /= %= <<= >>= &= |= ^= 28617a3babSopenharmony_ci 1.2 2E10 5u -5lf 29617a3babSopenharmony_ci} 30617a3babSopenharmony_ci 31617a3babSopenharmony_cistruct S { 32617a3babSopenharmony_ci int member1; 33617a3babSopenharmony_ci float member2; 34617a3babSopenharmony_ci vec4 member3; 35617a3babSopenharmony_ci}; 36617a3babSopenharmony_ci 37617a3babSopenharmony_ci#define xyz xxyz 38617a3babSopenharmony_ci#define yzy() yyz 39617a3babSopenharmony_ci 40617a3babSopenharmony_ci#define FUN_MAC() \ 41617a3babSopenharmony_ci vec3 a = vec3(0); \ 42617a3babSopenharmony_ci vec3 b = a.zxyz; \ 43617a3babSopenharmony_ci vec3 b = a.xyz; \ 44617a3babSopenharmony_ci vec3 b = a.yzy(); \ 45617a3babSopenharmony_ci vec3 b = a.xyz(); \ 46617a3babSopenharmony_ci vec3 b = a.yzy; \ 47617a3babSopenharmony_ci vec3 b = a.z; 48617a3babSopenharmony_ci 49617a3babSopenharmony_civoid bar(int x) {} 50617a3babSopenharmony_ci 51617a3babSopenharmony_civoid foo() 52617a3babSopenharmony_ci{ 53617a3babSopenharmony_ci S s; 54617a3babSopenharmony_ci s.member2 + s.member1; 55617a3babSopenharmony_ci s.member3.zyx; 56617a3babSopenharmony_ci s.member2.xyz; 57617a3babSopenharmony_ci s.member2.yzy(); 58617a3babSopenharmony_ci s.member2.xyz(); 59617a3babSopenharmony_ci s.member2.yzy; 60617a3babSopenharmony_ci for(int i = 0;i < 100; i = i + 1) { 61617a3babSopenharmony_ci bar (i) 62617a3babSopenharmony_ci } 63617a3babSopenharmony_ci FUN_MAC() 64617a3babSopenharmony_ci yzy 65617a3babSopenharmony_ci 66617a3babSopenharmony_ci (); 67617a3babSopenharmony_ci yzy 68617a3babSopenharmony_ci 69617a3babSopenharmony_ci 70617a3babSopenharmony_ci} 71