From 9584630d935dd1a811cd4d563602642e0c614389 Mon Sep 17 00:00:00 2001 From: Hleb Valoshka <375gnu@gmail.com> Date: Tue, 5 Dec 2023 21:50:03 +0200 Subject: [PATCH 1/2] Fix near plane computation Closes: #542 --- src/celengine/render.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/celengine/render.cpp b/src/celengine/render.cpp index 35ac294e1a4..44f6aa698a4 100644 --- a/src/celengine/render.cpp +++ b/src/celengine/render.cpp @@ -4888,7 +4888,7 @@ Renderer::removeInvisibleItems(const math::Frustum &frustum) nearZ = -nearZ * nearZcoeff; if (nearZ > -MinNearPlaneDistance) - ri.nearZ = -max(MinNearPlaneDistance, radius / 2000.0f); + ri.nearZ = -std::min(MinNearPlaneDistance, radius / 2000.0f); else ri.nearZ = nearZ; From a4abfce12842603701acac06916e4cafbc9013ce Mon Sep 17 00:00:00 2001 From: Hleb Valoshka <375gnu@gmail.com> Date: Tue, 5 Dec 2023 21:50:46 +0200 Subject: [PATCH 2/2] Convert geodetic coordinates to cartesian for surface bodies --- src/celengine/parseobject.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/celengine/parseobject.cpp b/src/celengine/parseobject.cpp index 59c9d1fd8b3..5de31e8c0cf 100644 --- a/src/celengine/parseobject.cpp +++ b/src/celengine/parseobject.cpp @@ -827,11 +827,7 @@ CreateOrbit(const Selection& centralObject, Body* centralBody = centralObject.body(); if (centralBody != nullptr) { -#if 0 // TODO: This should be enabled after #542 is fixed Vector3d pos = centralBody->geodeticToCartesian(*longlat); -#else - Vector3d pos = centralBody->planetocentricToCartesian(longlat->x(), longlat->y(), longlat->z()); -#endif return new celestia::ephem::SynchronousOrbit(*centralBody, pos); } // TODO: Allow fixing objects to the surface of stars.