diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index b1f26cec6604..d7975fc5c74a 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -1683,7 +1683,7 @@ If [code]true[/code], performs a previous depth pass before rendering materials. This increases performance in scenes with high overdraw, when complex materials and lighting are used. - The directional shadow's size in pixels. Higher values will result in sharper shadows, at the cost of performance. The value will be rounded up to the nearest power of 2. This setting can be changed at run-time; the change will be applied immediately. + The directional shadow's size in pixels. Higher values will result in sharper shadows, at the cost of performance. This setting can be changed at run-time; the change will be applied immediately. Lower-end override for [member rendering/quality/directional_shadow/size] on mobile devices, due to performance concerns or driver support. diff --git a/drivers/gles2/rasterizer_scene_gles2.cpp b/drivers/gles2/rasterizer_scene_gles2.cpp index c685deddabf4..50f1a6bf1db1 100644 --- a/drivers/gles2/rasterizer_scene_gles2.cpp +++ b/drivers/gles2/rasterizer_scene_gles2.cpp @@ -75,7 +75,7 @@ void RasterizerSceneGLES2::directional_shadow_create() { } directional_shadow.light_count = 0; - directional_shadow.size = next_power_of_2(directional_shadow_size); + directional_shadow.size = directional_shadow_size; if (directional_shadow.size > storage->config.max_viewport_dimensions[0] || directional_shadow.size > storage->config.max_viewport_dimensions[1]) { WARN_PRINT("Cannot set directional shadow size larger than maximum hardware supported size of (" + itos(storage->config.max_viewport_dimensions[0]) + ", " + itos(storage->config.max_viewport_dimensions[1]) + "). Setting size to maximum."); @@ -4110,7 +4110,7 @@ void RasterizerSceneGLES2::initialize() { void RasterizerSceneGLES2::iteration() { shadow_filter_mode = ShadowFilterMode(int(GLOBAL_GET("rendering/quality/shadows/filter_mode"))); - const int directional_shadow_size_new = next_power_of_2(int(GLOBAL_GET("rendering/quality/directional_shadow/size"))); + const int directional_shadow_size_new = int(GLOBAL_GET("rendering/quality/directional_shadow/size")); if (directional_shadow_size != directional_shadow_size_new) { directional_shadow_size = directional_shadow_size_new; directional_shadow_create(); @@ -4122,7 +4122,7 @@ void RasterizerSceneGLES2::finalize() { RasterizerSceneGLES2::RasterizerSceneGLES2() { _light_counter = 0; - directional_shadow_size = next_power_of_2(int(GLOBAL_GET("rendering/quality/directional_shadow/size"))); + directional_shadow_size = int(GLOBAL_GET("rendering/quality/directional_shadow/size")); } RasterizerSceneGLES2::~RasterizerSceneGLES2() { diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp index 769e4eed5024..1b530959a7d6 100644 --- a/drivers/gles3/rasterizer_scene_gles3.cpp +++ b/drivers/gles3/rasterizer_scene_gles3.cpp @@ -90,7 +90,7 @@ void RasterizerSceneGLES3::directional_shadow_create() { } directional_shadow.light_count = 0; - directional_shadow.size = next_power_of_2(directional_shadow_size); + directional_shadow.size = directional_shadow_size; glGenFramebuffers(1, &directional_shadow.fbo); glBindFramebuffer(GL_FRAMEBUFFER, directional_shadow.fbo); glGenTextures(1, &directional_shadow.depth); @@ -5328,7 +5328,7 @@ void RasterizerSceneGLES3::initialize() { void RasterizerSceneGLES3::iteration() { shadow_filter_mode = ShadowFilterMode(int(GLOBAL_GET("rendering/quality/shadows/filter_mode"))); - const int directional_shadow_size_new = next_power_of_2(int(GLOBAL_GET("rendering/quality/directional_shadow/size"))); + const int directional_shadow_size_new = int(GLOBAL_GET("rendering/quality/directional_shadow/size")); if (directional_shadow_size != directional_shadow_size_new) { directional_shadow_size = directional_shadow_size_new; directional_shadow_create(); @@ -5348,7 +5348,7 @@ void RasterizerSceneGLES3::finalize() { } RasterizerSceneGLES3::RasterizerSceneGLES3() { - directional_shadow_size = next_power_of_2(int(GLOBAL_GET("rendering/quality/directional_shadow/size"))); + directional_shadow_size = int(GLOBAL_GET("rendering/quality/directional_shadow/size")); } RasterizerSceneGLES3::~RasterizerSceneGLES3() {