add antialiasing setting

This commit is contained in:
Teatov 2025-03-01 04:26:40 +10:00
parent 841e05149a
commit 380c4f797f
2 changed files with 33 additions and 0 deletions

View File

@ -283,6 +283,11 @@ func _on_control_draw() -> void:
_label3_text = ""
_append_text("fps", Engine.get_frames_per_second() as int, 0)
_append_text(
"resolution",
Vector2i(get_viewport().size * get_viewport().scaling_3d_scale as Vector2),
0
)
if mode == Mode.PERFORMANCE:
_set_label_texts()

View File

@ -1,5 +1,7 @@
extends Node
enum AntiAliasingMode { DISABLED, FXAA, MSAA_2X, MSAA_4X, MSAA_8X, TAA, FSR2, SSAA }
const SETTING_USAGE_FLAG := PROPERTY_USAGE_SCRIPT_VARIABLE | PROPERTY_USAGE_EDITOR
const CONFIG_PATH := "user://settings.cfg"
@ -46,6 +48,32 @@ const CONFIG_PATH := "user://settings.cfg"
max_fps = value
@export_subgroup("Quality")
@export var antialiasing: AntiAliasingMode = AntiAliasingMode.MSAA_4X:
set(value):
get_viewport().use_taa = false
get_viewport().msaa_3d = Viewport.MSAA_DISABLED
get_viewport().screen_space_aa = Viewport.SCREEN_SPACE_AA_DISABLED
match value:
AntiAliasingMode.TAA:
get_viewport().use_taa = true
AntiAliasingMode.MSAA_2X:
get_viewport().msaa_3d = Viewport.MSAA_2X
AntiAliasingMode.MSAA_4X:
get_viewport().msaa_3d = Viewport.MSAA_4X
AntiAliasingMode.MSAA_8X:
get_viewport().msaa_3d = Viewport.MSAA_8X
AntiAliasingMode.FXAA:
get_viewport().screen_space_aa = Viewport.SCREEN_SPACE_AA_FXAA
AntiAliasingMode.FSR2:
filtering = Viewport.SCALING_3D_MODE_FSR2
resolution_scale = 1
AntiAliasingMode.SSAA:
filtering = Viewport.SCALING_3D_MODE_BILINEAR
resolution_scale = 2
antialiasing = value
@export var resolution_scale: float = 1:
set(value):
get_viewport().scaling_3d_scale = value