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.
This commit is contained in:
Josh Creek
2026-08-04 13:36:30 +01:00
parent df3e168b31
commit e62d844c1d
4 changed files with 39 additions and 14 deletions
+15 -11
View File
@@ -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
+8 -1
View File
@@ -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")
+8 -1
View File
@@ -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")
+8 -1
View File
@@ -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")