dd_vector.h 510 B

1234567891011121314151617181920212223
  1. #ifndef DD_VECTOR_H
  2. #define DD_VECTOR_H
  3. /* Creates a simple vector with 3 values,
  4. * either xyz or rgb
  5. */
  6. struct dd_vec3 {
  7. union {float x, r;};
  8. union {float y, g;};
  9. union {float z, b;};
  10. };
  11. struct dd_vec3 dd_vec3_add(struct dd_vec3 *v1, struct dd_vec3 *v2);
  12. struct dd_vec3 dd_vec3_sub(struct dd_vec3 *v1, struct dd_vec3 *v2);
  13. struct dd_vec3 dd_vec3_mul(struct dd_vec3 *v1, struct dd_vec3 *v2);
  14. struct dd_vec3 dd_vec3_div(struct dd_vec3 *v1, struct dd_vec3 *v2);
  15. struct dd_vec2 {
  16. float x, y;
  17. };
  18. #endif