summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRob Blanckaert <basicer@basicer.com>2017-10-07 09:11:48 -0400
committerSmallJoker <mk939@ymail.com>2018-06-03 17:31:59 +0200
commitc56c3d8d6f5d050acea30a70c058fd442cc41389 (patch)
treec70f48046ba0daed261d578aebf348706129f546 /src
parent0034abb56075b841da441b1c8ad2e7779f42eac9 (diff)
downloadminetest-c56c3d8d6f5d050acea30a70c058fd442cc41389.tar.gz
minetest-c56c3d8d6f5d050acea30a70c058fd442cc41389.tar.bz2
minetest-c56c3d8d6f5d050acea30a70c058fd442cc41389.zip
Add setting for near plane distance. (#6395)
* Allow setting the near plane * - Add near_plane limit of 0.5 to prevent x-ray. - Add more details to near_plane setting.
Diffstat (limited to 'src')
-rw-r--r--src/camera.cpp2
-rw-r--r--src/defaultsettings.cpp1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/camera.cpp b/src/camera.cpp
index 52a42a3a9..6957508cc 100644
--- a/src/camera.cpp
+++ b/src/camera.cpp
@@ -487,7 +487,9 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 busytime,
void Camera::updateViewingRange()
{
f32 viewing_range = g_settings->getFloat("viewing_range");
+ f32 near_plane = g_settings->getFloat("near_plane");
m_draw_control.wanted_range = viewing_range;
+ m_cameranode->setNearValue(rangelim(near_plane, 0.0f, 0.5f) * BS);
if (m_draw_control.range_all) {
m_cameranode->setFarValue(100000.0);
return;
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index 3378e8b4a..181a12b5e 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -125,6 +125,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("fps_max", "60");
settings->setDefault("pause_fps_max", "20");
settings->setDefault("viewing_range", "100");
+ settings->setDefault("near_plane", "0.1");
settings->setDefault("screenW", "800");
settings->setDefault("screenH", "600");
settings->setDefault("autosave_screensize", "true");