class_name PerformanceSettings extends Node var environment: Environment = preload("res://scenes/environment.tres") signal voxel_gi_changed(enabled: bool) var voxel_gi_enabled := true var bloom_enabled := true var volumetric_fog_enabled := true func get_voxel_gi_enabled() -> bool: return voxel_gi_enabled func _ready() -> void: # Initialize environment settings environment.glow_enabled = bloom_enabled environment.volumetric_fog_enabled = volumetric_fog_enabled _update_voxel_gi() func toggle_voxel_gi(enabled: bool) -> void: voxel_gi_enabled = enabled _update_voxel_gi() func toggle_bloom(enabled: bool) -> void: bloom_enabled = enabled environment.glow_enabled = bloom_enabled func toggle_volumetric_fog(enabled: bool) -> void: volumetric_fog_enabled = enabled environment.volumetric_fog_enabled = volumetric_fog_enabled func _update_voxel_gi() -> void: voxel_gi_changed.emit(voxel_gi_enabled) var voxel_gi = get_tree().current_scene.get_node_or_null("VoxelGI") if voxel_gi: voxel_gi.visible = voxel_gi_enabled else: print("couldn't find VoxelGI!")