Glsl.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #define PAR uniform
  2. #define VAR varying
  3. #define EPS 0.0001
  4. #define EPS_COL (1.0/256.0)
  5. #define PI 3.14159265
  6. #define PI2 6.28318531
  7. #define SBUMP_ZERO 0
  8. #define SBUMP_FLAT 1
  9. #define SBUMP_NORMAL 2
  10. #define FX_NONE 0
  11. #define FX_GRASS 1
  12. #define FX_LEAF 2
  13. #define FX_LEAFS 3
  14. #define FX_BONE 4
  15. #define REVERSE_DEPTH false
  16. #define Sat(x) Mid(x, 0.0, 1.0)
  17. MP Flt Sum(MP Vec2 v) {return v.x+v.y ;}
  18. MP Flt Sum(MP Vec v) {return v.x+v.y+v.z ;}
  19. MP Flt Sum(MP Vec4 v) {return v.x+v.y+v.z+v.w;}
  20. MP Flt Sqr (MP Flt x) {return x*x ;}
  21. MP Vec2 Sqr (MP Vec2 x) {return x*x ;}
  22. MP Flt Cube(MP Flt x) {return x*x*x;}
  23. HP Flt Length2(HP Vec2 v) {return Dot(v, v);}
  24. HP Flt Length2(HP Vec v) {return Dot(v, v);}
  25. HP Flt Length2(HP Vec4 v) {return Dot(v, v);}
  26. MP Vec2 Rotate(MP Vec2 vec, MP Vec2 cos_sin)
  27. {
  28. return Vec2(vec.x*cos_sin.x - vec.y*cos_sin.y,
  29. vec.x*cos_sin.y + vec.y*cos_sin.x);
  30. }
  31. MP Flt LerpR (MP Flt from, MP Flt to, MP Flt v) {return (v-from)/(to-from) ;}
  32. MP Flt LerpRS(MP Flt from, MP Flt to, MP Flt v) {return Sat((v-from)/(to-from));}