This program, developed as part of my thesis, is designed to assist researchers in the development of autonomous drones at the Department of Self-Flying Drones at SZTAKI. It serves as a tool for validating drone positions and detecting errors by comparing images generated by the program with images captured by the drones during flight.
The main task of the software is to perform a simulation on a 3D triangulated mesh of a given area along a specified camera trajectory, taking into account the position of the sun. During the simulation, the program captures images of the segmented mesh with appropriate lighting settings.
The primary users of this program are researchers involved in the development of autonomous drones. They can utilize the captured simulation images to detect sensor errors in the drones.
The program provides a graphical user interface (GUI) that allows users to select the necessary files for the simulation and configure its parameters. Users can also interact with the program during the simulation using keyboard and mouse inputs.
There are two modes available for the user during program usage:
- Explore 3D Mode: In this mode, users can freely navigate and examine the loaded terrain model from different angles. This allows them to verify if the correct model has been loaded and identify any potential errors. The Explore 3D Mode is the default mode when the program starts.
- Flythrough Mode: In this mode, users can play back the loaded camera trajectory and save the simulated images to the hard disk during playback. The Flythrough Mode is only accessible if a camera trajectory has been loaded into the program.
The development resulted in a Windows-specific graphical API-based surface mesh viewer written in C++ using DirectX 11.
The program's system requirements are determined based on the Windows SDK system requirements.
- Processor: At least a 1.6 GHz x64 architecture processor.
- Memory: At least 1 GB RAM.
- Video Card: DirectX 11 compatible video card.
- Storage: At least 100 MB of free space.
- Operating System: Windows 10 (x64).
The program uses the DirectX 11 graphics API, which requires the installation of the Windows SDK. Starting from Windows 8, the DirectX SDK is part of the Windows SDK. Previously, the DirectX SDK served as a development platform for game development on Windows. However, with widespread Direct3D support in computers, simpler desktop applications can also leverage hardware-accelerated graphics. Microsoft has integrated the DirectX technologies into the operating system. It is not necessary to install the legacy DirectX SDK to run the program.
The provided binary file does not require installation but requires at least Windows 10 operating system. The program supports 64-bit Windows operating systems.
-
Load the surface meshes using either "File > Open Terrain" or "File > Open project" options. While loading the surface meshes, you can choose between “with soft edges” or “with sharp edges”. Soft edges are used for interpolated shading, while sharp edges can be used for constant shading. The default mode is Explore 3D Mode, where you can move the camera using keyboard and mouse inputs.
-
Load a camera trajectory file using the "File > Open trajectory" option. Once the file is successfully loaded, you can switch to the Flythrough Mode, where you can play and record the simulation of the camera's path.
-
Load the configuration file using the "File > Open configuration file" option or configure the position, color, and other parameters of the surface meshes and camera trajectory through the GUI.
-
Set the output directory path where you want to save the simulation