Visualisation for MARSH system with Godot. Mirrored from https://gitlab.polimi.it/DAER/frame-sim/marsh/visualisation-marsh
Find a file
2025-03-04 17:27:48 +01:00
.helix Add a child timer node 2025-01-28 16:43:08 +01:00
modules Add heightmap submodule 2025-02-21 13:51:03 +01:00
project Update roadmap 2025-03-04 17:27:48 +01:00
src Add property for manager hostname 2025-03-03 11:06:49 +01:00
.clangd Add a child timer node 2025-01-28 16:43:08 +01:00
.editorconfig Initialize Godot project 2025-01-28 11:27:21 +01:00
.gitattributes Add ADS-33 terrain scene 2025-02-21 14:03:31 +01:00
.gitignore Setup zylann.hterrain addon 2025-02-21 13:55:02 +01:00
.gitmodules Add heightmap submodule 2025-02-21 13:51:03 +01:00
.godot-version Start project in Godot 4.4 beta3 2025-02-12 15:46:23 +01:00
README.md Update roadmap 2025-03-04 17:27:48 +01:00
SConstruct Setup basic scene to move the cube to last data received 2025-01-30 17:11:10 +01:00
update_addons.py Setup zylann.hterrain addon 2025-02-21 13:55:02 +01:00
update_mavlink.py Add MAVLink headers with generator script 2025-01-28 14:45:38 +01:00

Visualisation for MARSH

Named in this order so not everything starts with the same word

Development

This repository uses Git Submodules, to get all the code you need to run either:

git clone --recurse-submodules <address of this repository>
# Or at any later point
git submodule update --init --recursive

Using Godot v4.4 beta3 (expect it to change often until 4.4 is released) Install SCons with pipx install scons. You will need a C++ compiler, you might have one already on Linux, see below for Windows, otherwise in Godot documentation.

For updating MAVLink generator, you additionally pip install future. It is recommended to install any packages in a virtual environment, for example:

python3 -m venv venv
source venv/bin/activate
pip install future

Some files are generated, run the following commands on first setup and when dependencies change:

godot --dump-extension-api  # after updating Godot
python update_mavlink.py    # after updating MAVLink dialect
python update_addons.py     # after changing any addon submodules
scons compile_commands      # after modifying SConstruct
cd project/addons/gdcef; python build.py

Windows setup

The most convenient way of getting a C++ compiler is via the LLVM-MinGW project (by the way, it optimizes the binary more). Download the llvm-mingw-...-msvcrt-x86_64.zip from the Releases page. Unzip the archive to some location you like, and add its bin folder to Path using the "Edit environment variables for your account" program.

Build

To build the GDExtension binary run SCons in the repository root, the default arguments have been added to the file.

scons

When building for Windows with MinGW-LLVM, you need to select this compiler:

scons platform=windows use_mingw=yes use_llvm=yes

Roadmap

  • When having a short tracker interruption, maintain it in the same position until it times out to minimize the viewport jumps
  • Try to have some acceptable setup for Varjo even without the tracker
  • Rework the fly area
    • Make it bigger
    • Keep it square to avoid assymetric geometry
    • Don't use the flat plane, just flatten the terrain
    • Make the terrain mostly green, but add some small patches of different color
  • Fix z-figthing when looking at the runway from afar
  • Reduce pixel artifacts
    • Adjust antialiasing
    • Ensure there are mipmaps and they're used
  • Increase sense of urgency/stress when tracking the visual height cue
    • Change the perspective to make the ball leave the strip for smaller error
    • Time to complete the task
      • Configurable length
      • Some way to verify completion
      • Some way to reset it
      • Sound cue for desired and required timing
      • Visual timing like progress bar
        • Also change color
        • On the vertical cue or instrument panel?