GPU: add projection matrix function to set only near/far clipping

Useful when UI code needs to extend the clipping range.
This commit is contained in:
Campbell Barton 2020-02-04 21:55:57 +11:00
parent e3f8c887fb
commit 62dba60e49
2 changed files with 10 additions and 0 deletions

@ -90,6 +90,8 @@ void GPU_matrix_identity_projection_set(void);
void GPU_matrix_projection_set(const float m[4][4]);
void GPU_matrix_ortho_set(float left, float right, float bottom, float top, float near, float far);
void GPU_matrix_ortho_set_z(float near, float far);
void GPU_matrix_frustum_set(
float left, float right, float bottom, float top, float near, float far);
void GPU_matrix_perspective_set(float fovy, float aspect, float near, float far);

@ -421,6 +421,14 @@ void GPU_matrix_ortho_set(float left, float right, float bottom, float top, floa
gpu_matrix_state_active_set_dirty(true);
}
void GPU_matrix_ortho_set_z(float near, float far)
{
CHECKMAT(Projection);
Projection[2][2] = -2.0f / (far - near);
Projection[3][2] = -(far + near) / (far - near);
gpu_matrix_state_active_set_dirty(true);
}
void GPU_matrix_ortho_2d_set(float left, float right, float bottom, float top)
{
Mat4 m;