From e62d844c1da2fd545cb2865fd9fa80266a8f3c35 Mon Sep 17 00:00:00 2001 From: Josh Creek <8179928+jcreek@users.noreply.github.com> Date: Tue, 4 Aug 2026 13:36:30 +0100 Subject: [PATCH] fix(render): drop SDFGI, add fill lights and enable debanding SDFGI ran with default cascades in a volume that was almost entirely transparent, so its low-resolution probes had little solid geometry to capture and contributed blotching across large flat surfaces. With the boundary now an opaque deck plus an unshaded additive field, it earns nothing, and the existing ReflectionProbe and ambient carry the lighting. Each arena also gains a shadowless fill light opposite its key light so the deck is not lit from a single direction, and passes its own tint through to the boundary's containment field so the three arenas read differently. use_debanding was absent. Glow runs at hdr_scale 2.0 with adjustment_contrast above 1.0, which amplifies 8-bit quantisation on exactly the kind of smooth gradients the new shell is made of. The remaining project.godot churn is Godot's own key reordering on save. --- Game/project.godot | 26 +++++++++++++++----------- Game/scenes/arena_01.tscn | 9 ++++++++- Game/scenes/arena_02.tscn | 9 ++++++++- Game/scenes/arena_03.tscn | 9 ++++++++- 4 files changed, 39 insertions(+), 14 deletions(-) diff --git a/Game/project.godot b/Game/project.godot index 987ab58a..0345abd5 100644 --- a/Game/project.godot +++ b/Game/project.godot @@ -18,13 +18,14 @@ config/name="Cosmic Clash" config/description="A fast-paced, physics-based sports game set in space. From Raymond Studios." config/version="0.0.1" run/main_scene="uid://bcq14356s3e2i" -run/main_scene.training="res://scenes/training.tscn" config/features=PackedStringArray("4.7", "Forward Plus") config/icon="res://icon.svg" +run/main_scene.training="res://scenes/training.tscn" -[editor_plugins] +[autoload] -enabled=PackedStringArray("res://addons/godot_rl_agents/plugin.cfg") +GameSettings="*res://scripts/game_settings.gd" +VideoSettings="*res://scripts/video_settings.gd" [display] @@ -34,10 +35,17 @@ window/size/mode=2 window/stretch/mode="viewport" window/stretch/aspect="expand" +[editor_plugins] + +enabled=PackedStringArray("res://addons/godot_rl_agents/plugin.cfg") + [input] -reset_ball={"deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)]} - +reset_ball={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} move_forward={ "deadzone": 0.2, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null) @@ -113,15 +121,11 @@ roll_right={ [physics] -common/physics_interpolation=true 3d/physics_engine="Jolt Physics" +common/physics_interpolation=true [rendering] anti_aliasing/quality/msaa_3d=2 anti_aliasing/quality/screen_space_aa=1 - -[autoload] - -GameSettings="*res://scripts/game_settings.gd" -VideoSettings="*res://scripts/video_settings.gd" +anti_aliasing/quality/use_debanding=true diff --git a/Game/scenes/arena_01.tscn b/Game/scenes/arena_01.tscn index 70b6513f..bd48e15b 100644 --- a/Game/scenes/arena_01.tscn +++ b/Game/scenes/arena_01.tscn @@ -33,7 +33,6 @@ sky_material = SubResource("ShaderMaterial_stars") [sub_resource type="Environment" id="Environment_space"] background_mode = 2 sky = SubResource("Sky_space") -sdfgi_enabled = true ambient_light_source = 2 ambient_light_color = Color(0.55, 0.6, 0.75, 1) ambient_light_energy = 0.4 @@ -58,11 +57,19 @@ adjustment_saturation = 1.08 script = ExtResource("1_iywne") [node name="Boundary" parent="." instance=ExtResource("2_bndry")] +field_tint = Color(0.5, 0.7, 1, 1) +field_intensity = 0.09 [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] transform = Transform3D(0.866025, -0.383022, 0.321394, 0, 0.642788, 0.766044, -0.5, -0.663414, 0.55667, 0, 11, 0) shadow_enabled = true +[node name="FillLight" type="DirectionalLight3D" parent="."] +transform = Transform3D(-0.866025, -0.383022, -0.321394, 0, 0.642788, 0.766044, 0.5, -0.663414, 0.55667, 0, 11, 0) +light_color = Color(0.55, 0.65, 0.85, 1) +light_energy = 0.4 +shadow_enabled = false + [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_space") diff --git a/Game/scenes/arena_02.tscn b/Game/scenes/arena_02.tscn index 45c0bc27..b5e604da 100644 --- a/Game/scenes/arena_02.tscn +++ b/Game/scenes/arena_02.tscn @@ -19,7 +19,6 @@ sky_material = SubResource("PanoramaSkyMaterial_nebula") [sub_resource type="Environment" id="Environment_nebula"] background_mode = 2 sky = SubResource("Sky_nebula") -sdfgi_enabled = true ambient_light_source = 2 ambient_light_color = Color(0.65, 0.35, 0.75, 1) ambient_light_energy = 0.45 @@ -80,12 +79,20 @@ color_ramp = SubResource("GradientTexture1D_dust") script = ExtResource("1_iywne") [node name="Boundary" parent="." instance=ExtResource("2_bndry")] +field_tint = Color(0.78, 0.55, 1, 1) +field_intensity = 0.1 [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] transform = Transform3D(0.866025, -0.383022, 0.321394, 0, 0.642788, 0.766044, -0.5, -0.663414, 0.55667, 0, 11, 0) light_color = Color(0.85, 0.75, 1, 1) shadow_enabled = true +[node name="FillLight" type="DirectionalLight3D" parent="."] +transform = Transform3D(-0.866025, -0.383022, -0.321394, 0, 0.642788, 0.766044, 0.5, -0.663414, 0.55667, 0, 11, 0) +light_color = Color(0.55, 0.35, 0.65, 1) +light_energy = 0.45 +shadow_enabled = false + [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_nebula") diff --git a/Game/scenes/arena_03.tscn b/Game/scenes/arena_03.tscn index b45882a6..72a8bc22 100644 --- a/Game/scenes/arena_03.tscn +++ b/Game/scenes/arena_03.tscn @@ -14,7 +14,6 @@ sky_material = SubResource("ShaderMaterial_asteroid") [sub_resource type="Environment" id="Environment_asteroid"] background_mode = 2 sky = SubResource("Sky_asteroid") -sdfgi_enabled = true ambient_light_source = 2 ambient_light_color = Color(0.6, 0.45, 0.3, 1) ambient_light_energy = 0.3 @@ -39,12 +38,20 @@ adjustment_saturation = 1.08 script = ExtResource("1_iywne") [node name="Boundary" parent="." instance=ExtResource("2_bndry")] +field_tint = Color(1, 0.72, 0.4, 1) +field_intensity = 0.09 [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] transform = Transform3D(0.866025, -0.383022, 0.321394, 0, 0.642788, 0.766044, -0.5, -0.663414, 0.55667, 0, 11, 0) light_color = Color(1, 0.85, 0.65, 1) shadow_enabled = true +[node name="FillLight" type="DirectionalLight3D" parent="."] +transform = Transform3D(-0.866025, -0.383022, -0.321394, 0, 0.642788, 0.766044, 0.5, -0.663414, 0.55667, 0, 11, 0) +light_color = Color(0.55, 0.4, 0.3, 1) +light_energy = 0.4 +shadow_enabled = false + [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_asteroid")