vmath.h 880 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #pragma once
  2. #include <stdint.h>
  3. typedef union c11_vec2i {
  4. struct { int x, y; };
  5. int data[2];
  6. int64_t _i64;
  7. } c11_vec2i;
  8. typedef union c11_vec3i {
  9. struct { int x, y, z; };
  10. int data[3];
  11. } c11_vec3i;
  12. typedef union c11_vec4i {
  13. struct { int x, y, z, w; };
  14. int data[4];
  15. } c11_vec4i;
  16. typedef union c11_vec2 {
  17. struct { float x, y; };
  18. float data[2];
  19. } c11_vec2;
  20. typedef union c11_vec3 {
  21. struct { float x, y, z; };
  22. float data[3];
  23. } c11_vec3;
  24. typedef union c11_mat3x3 {
  25. struct {
  26. float _11, _12, _13;
  27. float _21, _22, _23;
  28. float _31, _32, _33;
  29. };
  30. float m[3][3];
  31. float data[9];
  32. } c11_mat3x3;
  33. typedef union c11_color32 {
  34. struct {
  35. unsigned char r;
  36. unsigned char g;
  37. unsigned char b;
  38. unsigned char a;
  39. };
  40. unsigned char data[4];
  41. uint32_t u32;
  42. } c11_color32;