preprocessor.simple.vert 975 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #version 310 es
  2. #define X 1
  3. #define Y clamp
  4. #define Z X
  5. #define F 1, 2
  6. #define make_function \
  7. float fn ( float x ) \
  8. {\
  9. return x + 4.0; \
  10. }
  11. make_function
  12. int main() {
  13. gl_Position = vec4(X);
  14. gl_Position = Y(1, 2, 3);
  15. gl_Position = vec4(Z);
  16. gl_Position = vec4(F);
  17. gl_Position = vec4(fn(3));
  18. [] . ++ --
  19. + - * % / - ! ~
  20. << >> < > <= >=
  21. == !=
  22. & ^ | && ^^ || ? :
  23. += -= *= /= %= <<= >>= &= |= ^=
  24. 1.2 2E10 5u -5lf
  25. }
  26. struct S {
  27. int member1;
  28. float member2;
  29. vec4 member3;
  30. };
  31. #define xyz xxyz
  32. #define yzy() yyz
  33. #define FUN_MAC() \
  34. vec3 a = vec3(0); \
  35. vec3 b = a.zxyz; \
  36. vec3 b = a.xyz; \
  37. vec3 b = a.yzy(); \
  38. vec3 b = a.xyz(); \
  39. vec3 b = a.yzy; \
  40. vec3 b = a.z;
  41. void foo()
  42. {
  43. S s;
  44. s.member2 + s.member1;
  45. s.member3.zyx;
  46. s.member2.xyz;
  47. s.member2.yzy();
  48. s.member2.xyz();
  49. s.member2.yzy;
  50. FUN_MAC()
  51. yzy
  52. ();
  53. yzy
  54. }