diff options
| author | Ray <[email protected]> | 2021-03-19 13:20:23 +0100 |
|---|---|---|
| committer | Ray <[email protected]> | 2021-03-19 13:20:23 +0100 |
| commit | d4e2c331b1a751dd02cac36502bbb161406b0d80 (patch) | |
| tree | dfe7535df6835d35349239b6a16c3f9417043fd2 /src | |
| parent | a1d9987e7ca2c1be760a761ff673754a55a88813 (diff) | |
| download | raylib-d4e2c331b1a751dd02cac36502bbb161406b0d80.tar.gz raylib-d4e2c331b1a751dd02cac36502bbb161406b0d80.zip | |
REVIEWED: BeginMode3D()
Simplified some code
Diffstat (limited to 'src')
| -rw-r--r-- | src/core.c | 21 |
1 files changed, 5 insertions, 16 deletions
@@ -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 |
