From d4e2c331b1a751dd02cac36502bbb161406b0d80 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 19 Mar 2021 13:20:23 +0100 Subject: [PATCH] REVIEWED: BeginMode3D() Simplified some code --- src/core.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/src/core.c b/src/core.c index e9306f244..d01032ac7 100644 --- a/src/core.c +++ b/src/core.c @@ -1912,23 +1912,12 @@ void BeginMode3D(Camera3D camera) rlLoadIdentity(); // Reset current matrix (projection) float aspect = (float)CORE.Window.currentFbo.width/(float)CORE.Window.currentFbo.height; + + double top = 0; + if (camera.type == CAMERA_PERSPECTIVE) top = RL_CULL_DISTANCE_NEAR*tan(camera.fovy*0.5*DEG2RAD); + else if (camera.type == CAMERA_ORTHOGRAPHIC) top = camera.fovy/2.0; - if (camera.type == CAMERA_PERSPECTIVE) - { - // Setup perspective projection - double top = RL_CULL_DISTANCE_NEAR*tan(camera.fovy*0.5*DEG2RAD); - double right = top*aspect; - - rlFrustum(-right, right, -top, top, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); - } - else if (camera.type == CAMERA_ORTHOGRAPHIC) - { - // Setup orthographic projection - double top = camera.fovy/2.0; - double right = top*aspect; - - rlOrtho(-right, right, -top,top, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); - } + rlFrustum(-right, top*aspect, -top, top, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); // NOTE: zNear and zFar values are important when computing depth buffer values