From e4ccc91d4ed85fcfd3dc7d11a962d9558b320627 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 25 Aug 2026 19:38:34 +0200 Subject: [PATCH] REVIEWED: example: `textures_portal_window` --- examples/textures/textures_portal_window.c | 38 ++++++++++++++----- examples/textures/textures_portal_window.png | Bin 24992 -> 26209 bytes 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/examples/textures/textures_portal_window.c b/examples/textures/textures_portal_window.c index bf8cf6152..a0b48ef91 100644 --- a/examples/textures/textures_portal_window.c +++ b/examples/textures/textures_portal_window.c @@ -8,7 +8,7 @@ * viewer's actual position relative to the window, so the illusion holds up correctly * as the player moves and looks around, rather than only looking right from one spot * -* Example complexity rating: [★★★☆] 3/4 +* Example complexity rating: [★★★★] 4/4 * * Example originally created with raylib 6.0, last time updated with raylib 6.0 * @@ -22,14 +22,17 @@ ********************************************************************************************/ #include "raylib.h" + #include "raymath.h" #include "rlgl.h" -#include //------------------------------------------------------------------------------------ // Module Functions Declaration //------------------------------------------------------------------------------------ +// Begin portal mode 3D view static void BeginPortalMode3D(Vector3 eye, Vector3 bottomLeft, Vector3 bottomRight, Vector3 topLeft, float nearPlane, float farPlane); +// End portal 3D mode and returns to default 2D orthographic mode +static void EndPortalMode3D(void); //------------------------------------------------------------------------------------ // Program main entry point @@ -115,13 +118,13 @@ int main(void) DrawCubeWires(pos, 0.52f, 0.52f, 0.52f, DARKGREEN); } - EndMode3D(); + EndPortalMode3D(); EndTextureMode(); BeginDrawing(); - ClearBackground((Color){ 15, 18, 26, 255 }); + ClearBackground(RAYWHITE); BeginMode3D(camera); @@ -138,7 +141,7 @@ int main(void) DrawCube((Vector3){ 0.0f, 0.05f, 0.0f }, 3.4f, 0.1f, 0.6f, MAROON); // Solid backing wall, only ever seen if looking at the archway from behind - DrawCube((Vector3){ 0.0f, 2.0f, -0.05f }, 3.1f, 4.1f, 0.05f, DARKBLUE); + DrawCube((Vector3){ 0.0f, 2.0f, -0.05f }, 3.1f, 4.1f, 0.05f, MAROON); // The portal opening itself: a plain quad textured with the Dimension B // render, filling the archway exactly, so nothing "leaks" outside its shape @@ -156,11 +159,11 @@ int main(void) EndMode3D(); // HUD overlay - DrawRectangle(15, 15, 400, 85, Fade(BLACK, 0.75f)); - DrawRectangleLines(15, 15, 400, 85, GOLD); + DrawRectangle(15, 15, 520, 100, Fade(BLACK, 0.75f)); + DrawRectangleLines(15, 15, 520, 100, GOLD); DrawText("PORTAL WINDOW", 28, 25, 20, GOLD); - DrawText("Look through the golden arch into Dimension B", 28, 52, 14, RAYWHITE); - DrawText("Controls: Mouse to look | WASD to move", 28, 72, 12, GRAY); + DrawText("Look through the golden arch into Dimension B", 28, 52, 20, RAYWHITE); + DrawText("Controls: Mouse to look | WASD to move", 28, 80, 20, GRAY); EndDrawing(); //---------------------------------------------------------------------------------- @@ -200,7 +203,7 @@ static void BeginPortalMode3D(Vector3 eye, Vector3 bottomLeft, Vector3 bottomRig Vector3 toTL = Vector3Subtract(topLeft, eye); float dist = -Vector3DotProduct(toBL, normal); - if (dist < 0.01f) dist = 0.01f; // Keep the eye from crossing the window plane + if (dist < 0.01f) dist = 0.01f; // Keep the eye from crossing the window plane float scale = nearPlane/dist; @@ -222,3 +225,18 @@ static void BeginPortalMode3D(Vector3 eye, Vector3 bottomLeft, Vector3 bottomRig rlEnableDepthTest(); } + +// End portal 3D mode and returns to default 2D orthographic mode +// NOTE: Similar implementation to EndMode3D() +static void EndPortalMode3D(void) +{ + rlDrawRenderBatchActive(); // Update and draw internal render batch + + rlMatrixMode(RL_PROJECTION); // Switch to projection matrix + rlPopMatrix(); // Restore previous matrix (projection) from matrix stack + + rlMatrixMode(RL_MODELVIEW); // Switch back to modelview matrix + rlLoadIdentity(); // Reset current matrix (modelview) + + rlDisableDepthTest(); // Disable DEPTH_TEST for 2D +} diff --git a/examples/textures/textures_portal_window.png b/examples/textures/textures_portal_window.png index 902e7bb72376dbb5791e2225c6a403f6bfe78990..2c3272cf9037750df1746c2749a3b60ed3f11b85 100644 GIT binary patch literal 26209 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 literal 24992 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