summaryrefslogtreecommitdiff
path: root/src/maths/maths.h
diff options
context:
space:
mode:
authorOmniscient <17525998+omnisci3nce@users.noreply.github.com>2024-03-31 15:43:08 +1100
committerOmniscient <17525998+omnisci3nce@users.noreply.github.com>2024-03-31 15:43:08 +1100
commit1b4c27d514423c9e27a93742b8c8e9eb9f588e27 (patch)
tree5ff908aefc3d67982690a11c44071d43713bdcb9 /src/maths/maths.h
parenta56349f682862f065c5e5af6183643fcb1f19617 (diff)
fix discrepancy between opengl and vulkan
Diffstat (limited to 'src/maths/maths.h')
-rw-r--r--src/maths/maths.h24
1 files changed, 1 insertions, 23 deletions
diff --git a/src/maths/maths.h b/src/maths/maths.h
index 1432581..c9bcaad 100644
--- a/src/maths/maths.h
+++ b/src/maths/maths.h
@@ -157,38 +157,16 @@ static mat4 mat4_transposed(mat4 matrix) {
/** @brief Creates a perspective projection matrix compatible with Vulkan */
static inline mat4 mat4_perspective(f32 fov_radians, f32 aspect_ratio, f32 near_clip,
f32 far_clip) {
- // near_clip *= -1.0;
- // far_clip *= -1.0;
-
f32 half_tan_fov = tanf(fov_radians * 0.5f);
mat4 out_matrix = { .data = { 0 } };
out_matrix.data[0] = 1.0f / (aspect_ratio * half_tan_fov);
- out_matrix.data[5] = 1.0f / half_tan_fov; // Flip Y-axis for Vulkan
+ out_matrix.data[5] = -1.0f / half_tan_fov; // Flip Y-axis for Vulkan
out_matrix.data[10] = -((far_clip + near_clip) / (far_clip - near_clip));
out_matrix.data[11] = -1.0f;
out_matrix.data[14] = -((2.0f * far_clip * near_clip) / (far_clip - near_clip));
- // float half_tan_fov = tanf(fov_radians * 0.5);
- // float k = far_clip / (far_clip - near_clip);
-
- // out_matrix.data[0] = 1.0f / (aspect_ratio * half_tan_fov);
- // out_matrix.data[5] = 1.0f / half_tan_fov;
- // out_matrix.data[10] = k;
- // out_matrix.data[11] = -1.0;
- // out_matrix.data[14] = -1.0 * near_clip * k;
-
- // f32 half_tan_fov = tan(fov_radians * 0.5f);
- // out_matrix.data[0] = 1.0f / (aspect_ratio * half_tan_fov);
- // out_matrix.data[5] = 1.0f / half_tan_fov;
- // out_matrix.data[10] = -((far_clip + near_clip) / (far_clip - near_clip));
- // out_matrix.data[11] = -1.0f;
- // out_matrix.data[14] =
- // -((2.0f * far_clip * near_clip) / (far_clip - near_clip));
- // return out_matrix;
-
return out_matrix;
- // return mat4_transposed(out_matrix);
}
#else
/** @brief Creates a perspective projection matrix */