From bd136bb6d271452c46355966d50050b747d36c16 Mon Sep 17 00:00:00 2001 From: Alberto Mardegan Date: Fri, 17 May 2024 23:22:09 +0300 Subject: [PATCH] WIP standard GL matrices --- src/gc_gl.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/gc_gl.c b/src/gc_gl.c index 79242e2..4a2a5cc 100644 --- a/src/gc_gl.c +++ b/src/gc_gl.c @@ -2558,14 +2558,33 @@ void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, tmp = 1.0f / (far - near); mt[2][0] = 0.0f; mt[2][1] = 0.0f; - mt[2][2] = -near * tmp; - mt[2][3] = -(far * near) * tmp; + mt[2][2] = -(far + near) * tmp; + mt[2][3] = -2.0 * (far * near) * tmp; mt[3][0] = 0.0f; mt[3][1] = 0.0f; mt[3][2] = -1.0f; mt[3][3] = 0.0f; glMultMatrixf((float *)mt); + + mt[0][0] = 1.0; + mt[0][1] = 0.0; + mt[0][2] = 0.0; + mt[0][3] = 0.0; + mt[1][0] = 0.0; + mt[1][1] = 1.0; + mt[1][2] = 0.0; + mt[1][3] = 0.0; + mt[2][0] = 0.0; + mt[2][1] = 0.0; + mt[2][2] = 0.5; + mt[2][3] = -0.5; + mt[3][0] = 0.0; + mt[3][1] = 0.0; + mt[3][2] = 0.0; + mt[3][3] = 1.0; + + glMultMatrixf((float *)mt); } void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val)