From d6d640f15807dfe4447c48772f4418f1374181ac Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Fri, 29 Sep 2023 11:15:04 +0200 Subject: [PATCH] Disable `lightmapper_rd` module in non-editor builds (and in Android editor) This is consistent with `xatlas_unwrap`, which isn't enabled in non-editor builds and the Android editor either. There is currently no way to use the lightmapper in a non-editor build anyway, as it doesn't expose any methods (and even if there was, there would be no way to perform UV2 unwrapping in the exported project). This reduces binary size of a stripped Linux x86_64 export template build by ~164 KB. This also moves the PrimitiveMesh texel size project setting so that it's defined when the module is disabled, and adds a property hint to it. --- modules/lightmapper_rd/config.py | 2 +- modules/lightmapper_rd/register_types.cpp | 1 - servers/rendering_server.cpp | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/lightmapper_rd/config.py b/modules/lightmapper_rd/config.py index d22f9454ed2..ecc61c2d7eb 100644 --- a/modules/lightmapper_rd/config.py +++ b/modules/lightmapper_rd/config.py @@ -1,5 +1,5 @@ def can_build(env, platform): - return True + return env.editor_build and platform not in ["android", "ios"] def configure(env): diff --git a/modules/lightmapper_rd/register_types.cpp b/modules/lightmapper_rd/register_types.cpp index 7ec4a407660..984ce883169 100644 --- a/modules/lightmapper_rd/register_types.cpp +++ b/modules/lightmapper_rd/register_types.cpp @@ -58,7 +58,6 @@ void initialize_lightmapper_rd_module(ModuleInitializationLevel p_level) { GLOBAL_DEF("rendering/lightmapping/bake_quality/high_quality_probe_ray_count", 512); GLOBAL_DEF("rendering/lightmapping/bake_quality/ultra_quality_probe_ray_count", 2048); GLOBAL_DEF("rendering/lightmapping/bake_performance/max_rays_per_probe_pass", 64); - GLOBAL_DEF("rendering/lightmapping/primitive_meshes/texel_size", 0.2); #ifndef _3D_DISABLED GDREGISTER_CLASS(LightmapperRD); Lightmapper::create_gpu = create_lightmapper_rd; diff --git a/servers/rendering_server.cpp b/servers/rendering_server.cpp index b7c40600cb3..9a3b7b9f3c9 100644 --- a/servers/rendering_server.cpp +++ b/servers/rendering_server.cpp @@ -2983,6 +2983,7 @@ void RenderingServer::init() { GLOBAL_DEF("rendering/limits/global_shader_variables/buffer_size", 65536); GLOBAL_DEF(PropertyInfo(Variant::FLOAT, "rendering/lightmapping/probe_capture/update_speed", PROPERTY_HINT_RANGE, "0.001,256,0.001"), 15); + GLOBAL_DEF(PropertyInfo(Variant::FLOAT, "rendering/lightmapping/primitive_meshes/texel_size", PROPERTY_HINT_RANGE, "0.001,100,0.001"), 0.2); GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/global_illumination/sdfgi/probe_ray_count", PROPERTY_HINT_ENUM, "8 (Fastest),16,32,64,96,128 (Slowest)"), 1); GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/global_illumination/sdfgi/frames_to_converge", PROPERTY_HINT_ENUM, "5 (Less Latency but Lower Quality),10,15,20,25,30 (More Latency but Higher Quality)"), 5);