1
0

persp_rh_zo.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /*
  2. * Copyright (c), Recep Aslantas.
  3. *
  4. * MIT License (MIT), http://opensource.org/licenses/MIT
  5. * Full license can be found in the LICENSE file
  6. */
  7. #ifndef cglmc_persp_rh_zo_h
  8. #define cglmc_persp_rh_zo_h
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. #include "../../cglm.h"
  13. CGLM_EXPORT
  14. void
  15. glmc_frustum_rh_zo(float left, float right,
  16. float bottom, float top,
  17. float nearZ, float farZ,
  18. mat4 dest);
  19. CGLM_EXPORT
  20. void
  21. glmc_perspective_rh_zo(float fovy,
  22. float aspect,
  23. float nearVal,
  24. float farVal,
  25. mat4 dest);
  26. CGLM_EXPORT
  27. void
  28. glmc_persp_move_far_rh_zo(mat4 proj, float deltaFar);
  29. CGLM_EXPORT
  30. void
  31. glmc_persp_decomp_rh_zo(mat4 proj,
  32. float * __restrict nearZ, float * __restrict farZ,
  33. float * __restrict top, float * __restrict bottom,
  34. float * __restrict left, float * __restrict right);
  35. CGLM_EXPORT
  36. void
  37. glmc_persp_decompv_rh_zo(mat4 proj, float dest[6]);
  38. CGLM_EXPORT
  39. void
  40. glmc_persp_decomp_x_rh_zo(mat4 proj,
  41. float * __restrict left,
  42. float * __restrict right);
  43. CGLM_EXPORT
  44. void
  45. glmc_persp_decomp_y_rh_zo(mat4 proj,
  46. float * __restrict top,
  47. float * __restrict bottom);
  48. CGLM_EXPORT
  49. void
  50. glmc_persp_decomp_z_rh_zo(mat4 proj,
  51. float * __restrict nearZ,
  52. float * __restrict farZ);
  53. CGLM_EXPORT
  54. void
  55. glmc_persp_decomp_far_rh_zo(mat4 proj, float * __restrict farZ);
  56. CGLM_EXPORT
  57. void
  58. glmc_persp_decomp_near_rh_zo(mat4 proj, float * __restrict nearZ);
  59. CGLM_EXPORT
  60. void
  61. glmc_persp_sizes_rh_zo(mat4 proj, float fovy, vec4 dest);
  62. CGLM_EXPORT
  63. float
  64. glmc_persp_fovy_rh_zo(mat4 proj);
  65. CGLM_EXPORT
  66. float
  67. glmc_persp_aspect_rh_zo(mat4 proj);
  68. #ifdef __cplusplus
  69. }
  70. #endif
  71. #endif /* cglmc_persp_rh_zo_h */