14 Commits

Author SHA1 Message Date
Aaron Franke
90f2e38d7b Use static typing in all scripts (#208) 2025-10-11 05:04:14 -07:00
Hugo Locurcio
5f4c259062 Add MetalFX Spatial and Temporal scaling modes on macOS and iOS (#196)
This is only available on platforms where the Metal rendering
driver is used.

MetalFX can perform better than FSR1/FSR2 and look more stable,
but it goes for a softer look which can give it a lower perceived
resolution.

Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
2025-10-11 01:49:30 -07:00
Hugo Locurcio
374bd8d78c Improve visuals and settings menus, fix overly strong lights
- Fix lights being overly strong due to an excessive range,
  which led to clustering artifacts.
- Make VoxelGI and SDFGI brighter to make the scene more readable.
- Tweak spotlight colors to better match their emitter material.
- Make the core light orange-red to make it look more "unique" in the scene.
- Add window mode, V-Sync and FPS limit options.
- Add resolution scale and scale filter options (bilinear, FSR1, FSR2).
  The default is to use FSR2 at native resolution to provide high-quality
  temporal antialiasing.
- Add volumetric fog (enabled by default), used as a volumetric lighting
  solution.
- Add SSIL option (disabled by default), which helps better ground some
  objects in the scene.
- Refactor settings code to use ConfigFile instead of manual JSON serialization.
- Reorder settings to feature video settings first, then rendering settings.
- Order settings from least expensive to most expensive.
- Add performance color hints for settings
  (green = fast, yellow = average, orange = slow, red = slowest).
- Add volumetric fog and a fake bounce light to the menu.
- Make all setting changes effective in the menu.
- Tweak shadow settings to improve performance and visual consistency.
- Render GI at full-resolution to improve temporal stability when using
  FSR2 or TAA. Using upscaling should be preferred instead,
  since this demo relies on strong GI effects to look good.
- Improve menu theming using the StyleBoxFlat Skew property.
- Use the `canvas_items` stretch mode to match 3.x demo behavior, which
  used the `2d` stretch mode but wasn't ported over by the project converter.
- Only display multiplayer ID in the debug menu if currently online.
- Fix menu not using `experiment.hdr` for reflections as intended.
- Remove unused menu button textures (these were replaced by StyleBoxFlat
  in the 4.0 port).
2023-11-30 05:43:49 +01:00
Clay John
bd457e3de0 Improve Main Menu options and fix misc bugs (#166) 2023-03-26 22:40:22 +02:00
Clay John
2beb6c4587 Update various resources to 4.0 format (#161)
- Fix some warnings.
- Add in missing audio.
2023-02-14 00:49:53 +01:00
Clay John
f41444c0bf Port TPS demo to 4.0 (#158)
The settings menu isn't functional yet and some sounds don't play,
but the base functionality is working.
2023-02-04 18:20:45 +01:00
Hugo Locurcio
824b38c399 Add a FXAA setting to the options menu
This is enabled by default to improve visual quality at a low
performance cost.
2022-09-11 18:45:24 +02:00
Hugo Locurcio
b93a898d65 Add a setting to disable real-time light shadows
Disabling shadows reduces the number of draw calls significantly,
which improves rendering performance a lot.
2022-08-07 14:58:16 +02:00
Aaron Franke
2ad30fea84 Add commas and tweak scripts for better compatibility with Godot 4 2020-11-01 16:59:40 -05:00
Hugo Locurcio
ab16a938f9 Add a bloom quality setting
The default level is High, which is equivalent to the previous glow
setting used (bicubic upscaling enabled).

Low keeps glow enabled but disables bicubic upscaling.
Disabled disables glow entirely.

The setting is called "bloom" as it's a more common term in gaming,
even though the Environment parameter is called "glow".
2020-09-15 21:41:53 +02:00
Aaron Franke
2372e52042 Standardize node names and cache node references 2020-06-14 19:21:49 -04:00
Gilles Roudière
275d2d0c74 Allow going back and forth to the main menu, and toggle fullscreen 2020-02-15 15:14:59 +01:00
Aaron Franke
feb6a6e657 Update scripts to conform to the GDScript style guide 2020-01-23 00:30:13 -05:00
Juan Linietsky
8900253dfb Initial Public Commit 2018-10-07 11:18:06 -03:00