]> git.lizzy.rs Git - dragonfireclient.git/commitdiff
Revert "Disable dynamic shadows for the 5.5.0 release" (#12032)
authorrubenwardy <rw@rubenwardy.com>
Mon, 31 Jan 2022 21:48:14 +0000 (21:48 +0000)
committerGitHub <noreply@github.com>
Mon, 31 Jan 2022 21:48:14 +0000 (21:48 +0000)
builtin/mainmenu/tab_settings.lua
builtin/settingtypes.txt
src/client/mapblock_mesh.cpp
src/client/render/core.cpp
src/client/renderingengine.h
src/client/shader.cpp
src/client/sky.cpp

index 700b7390fa226ded3bba94c90c340be38f958095..42f7f8daf9f267dde558722d21be62331b56db04 100644 (file)
@@ -218,10 +218,10 @@ local function formspec(tabview, name, tabdata)
                        "checkbox[8.25,1.5;cb_waving_leaves;" .. fgettext("Waving Leaves") .. ";"
                                        .. dump(core.settings:get_bool("enable_waving_leaves")) .. "]" ..
                        "checkbox[8.25,2;cb_waving_plants;" .. fgettext("Waving Plants") .. ";"
-                                       .. dump(core.settings:get_bool("enable_waving_plants")) .. "]"
-                       --"label[8.25,3.0;" .. fgettext("Dynamic shadows: ") .. "]" ..
-                       --"dropdown[8.25,3.5;3.5;dd_shadows;" .. dd_options.shadow_levels[1] .. ";"
-                       --              .. getSettingIndex.ShadowMapping() .. "]"
+                                       .. dump(core.settings:get_bool("enable_waving_plants")) .. "]"..
+                       "label[8.25,3.0;" .. fgettext("Dynamic shadows: ") .. "]" ..
+                       "dropdown[8.25,3.5;3.5;dd_shadows;" .. dd_options.shadow_levels[1] .. ";"
+                                       .. getSettingIndex.ShadowMapping() .. "]"
        else
                tab_string = tab_string ..
                        "label[8.38,0.7;" .. core.colorize("#888888",
@@ -231,9 +231,9 @@ local function formspec(tabview, name, tabdata)
                        "label[8.38,1.7;" .. core.colorize("#888888",
                                        fgettext("Waving Leaves")) .. "]" ..
                        "label[8.38,2.2;" .. core.colorize("#888888",
-                                       fgettext("Waving Plants")) .. "]"
-                       --"label[8.38,2.7;" .. core.colorize("#888888",
-                       --              fgettext("Dynamic shadows")) .. "]"
+                                       fgettext("Waving Plants")) .. "]"..
+                       "label[8.38,2.7;" .. core.colorize("#888888",
+                                       fgettext("Dynamic shadows")) .. "]"
        end
 
        return tab_string
index 42b45aa0021e640ec17d7a71488105d912925bf3..ef8b84cff803536ca5d842153560023d3baad331 100644 (file)
@@ -586,6 +586,58 @@ enable_waving_leaves (Waving leaves) bool false
 #    Requires shaders to be enabled.
 enable_waving_plants (Waving plants) bool false
 
+[***Dynamic shadows]
+
+#    Set to true to enable Shadow Mapping.
+#    Requires shaders to be enabled.
+enable_dynamic_shadows (Dynamic shadows) bool false
+
+#    Set the shadow strength.
+#    Lower value means lighter shadows, higher value means darker shadows.
+shadow_strength (Shadow strength) float 0.2 0.05 1.0
+
+#    Maximum distance to render shadows.
+shadow_map_max_distance (Shadow map max distance in nodes to render shadows) float 120.0 10.0 1000.0
+
+#    Texture size to render the shadow map on.
+#    This must be a power of two.
+#    Bigger numbers create better shadows but it is also more expensive.
+shadow_map_texture_size (Shadow map texture size) int 1024 128 8192
+
+#    Sets shadow texture quality to 32 bits.
+#    On false, 16 bits texture will be used.
+#    This can cause much more artifacts in the shadow.
+shadow_map_texture_32bit (Shadow map texture in 32 bits) bool true
+
+#    Enable Poisson disk filtering.
+#    On true uses Poisson disk to make "soft shadows". Otherwise uses PCF filtering.
+shadow_poisson_filter (Poisson filtering) bool true
+
+#   Define shadow filtering quality.
+#   This simulates the soft shadows effect by applying a PCF or Poisson disk
+#   but also uses more resources.
+shadow_filters (Shadow filter quality) enum 1 0,1,2
+
+#    Enable colored shadows.
+#    On true translucent nodes cast colored shadows. This is expensive.
+shadow_map_color (Colored shadows) bool false
+
+#    Spread a complete update of shadow map over given amount of frames.
+#    Higher values might make shadows laggy, lower values
+#    will consume more resources.
+#    Minimum value: 1; maximum value: 16
+shadow_update_frames (Map shadows update frames) int 8 1 16
+
+#    Set the soft shadow radius size.
+#    Lower values mean sharper shadows, bigger values mean softer shadows.
+#    Minimum value: 1.0; maximum value: 10.0
+shadow_soft_radius (Soft shadow radius) float 1.0 1.0 10.0
+
+#    Set the tilt of Sun/Moon orbit in degrees.
+#    Value of 0 means no tilt / vertical orbit.
+#    Minimum value: 0.0; maximum value: 60.0
+shadow_sky_body_orbit_tilt (Sky Body Orbit Tilt) float 0.0 0.0 60.0
+
 [**Advanced]
 
 #    Arm inertia, gives a more realistic movement of
index 249a5608761e42ace21213aa221af7a0c4c35d35..03522eca9326db57e6a91f5c3f512b3ec2a5eb6c 100644 (file)
@@ -861,7 +861,7 @@ static void updateFastFaceRow(
                g_settings->getBool("enable_waving_water");
 
        static thread_local const bool force_not_tiling =
-                       false && g_settings->getBool("enable_dynamic_shadows");
+                       g_settings->getBool("enable_dynamic_shadows");
 
        v3s16 p = startpos;
 
index 44ef1c98c757a3cfca56ad56104e47e3d30c07e6..f151832f34fa00d75e80abac43d89345c5ac9173 100644 (file)
@@ -36,7 +36,7 @@ RenderingCore::RenderingCore(IrrlichtDevice *_device, Client *_client, Hud *_hud
        virtual_size = screensize;
 
        if (g_settings->getBool("enable_shaders") &&
-                       false && g_settings->getBool("enable_dynamic_shadows")) {
+                       g_settings->getBool("enable_dynamic_shadows")) {
                shadow_renderer = new ShadowRenderer(device, client);
        }
 }
index a0ddb0d9ae34b2c7fb53f72df5bb0767df29565f..6f104bba98e2ee09eb0e8963f0a39082a712752e 100644 (file)
@@ -123,8 +123,8 @@ class RenderingEngine
        // FIXME: this is still global when it shouldn't be
        static ShadowRenderer *get_shadow_renderer()
        {
-               //if (s_singleton && s_singleton->core)
-               //      return s_singleton->core->get_shadow_renderer();
+               if (s_singleton && s_singleton->core)
+                       return s_singleton->core->get_shadow_renderer();
                return nullptr;
        }
        static std::vector<irr::video::E_DRIVER_TYPE> getSupportedVideoDrivers();
index c04a2586267eeffeb9debbe114a13df4185b8f33..dc9e9ae6d64a3b9bdaa939c65bc787a51ba20110 100644 (file)
@@ -733,7 +733,7 @@ ShaderInfo ShaderSource::generateShader(const std::string &name,
 
        shaders_header << "#define FOG_START " << core::clamp(g_settings->getFloat("fog_start"), 0.0f, 0.99f) << "\n";
 
-       if (false && g_settings->getBool("enable_dynamic_shadows")) {
+       if (g_settings->getBool("enable_dynamic_shadows")) {
                shaders_header << "#define ENABLE_DYNAMIC_SHADOWS 1\n";
                if (g_settings->getBool("shadow_map_color"))
                        shaders_header << "#define COLORED_SHADOWS 1\n";
index 7fe90c6cd84c2720eca1e8d9fa63de60401cba8f..0ab710eee1d138bcc415e22c2c7c574b310cf783 100644 (file)
@@ -103,7 +103,7 @@ Sky::Sky(s32 id, RenderingEngine *rendering_engine, ITextureSource *tsrc, IShade
 
        m_directional_colored_fog = g_settings->getBool("directional_colored_fog");
 
-       if (false && g_settings->getBool("enable_dynamic_shadows")) {
+       if (g_settings->getBool("enable_dynamic_shadows")) {
                float val = g_settings->getFloat("shadow_sky_body_orbit_tilt");
                m_sky_body_orbit_tilt = rangelim(val, 0.0f, 60.0f);
        }