From 24dee13e425927852e0d42c81f19ac76f5ae0ff0 Mon Sep 17 00:00:00 2001 From: cinnaboot Date: Thu, 29 Jan 2026 13:39:53 -0500 Subject: [PATCH] Fix camera culling by accounting for near cull plane in minimum distance calculation --- src/renderer.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/renderer.cpp b/src/renderer.cpp index b9b82b2..36ab5af 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -27,6 +27,7 @@ #define MIN_DISTANCE_BODY_RADIUS_MULT 2.75f #define MIN_DISTANCE_SPACECRAFT_DEFAULT 0.5f #define MIN_DISTANCE_SPACECRAFT_PARENT_RADIUS_MULT 0.1f +#define CAMERA_NEAR_CULL_DISTANCE 0.05f // Zoom direction enumeration for improved readability enum ZoomDirection { @@ -254,7 +255,9 @@ static float get_target_min_distance(RenderState* render_state, SimulationState* return CAMERA_MIN_DISTANCE; } - return target_radius * MIN_DISTANCE_BODY_RADIUS_MULT; + float radius_based_dist = target_radius * MIN_DISTANCE_BODY_RADIUS_MULT; + float cull_based_dist = target_radius + CAMERA_NEAR_CULL_DISTANCE + 0.001f; + return (radius_based_dist > cull_based_dist) ? radius_based_dist : cull_based_dist; } static void zoom_camera(RenderState* render_state, SimulationState* sim, ZoomDirection zoom_dir) {