Code Monkey home page Code Monkey logo

elte-ik-diploma's Introduction

Program Description

Alt Text

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.

Hardware System Requirements

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).

Software Requirements

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.

Running 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.

Program Usage

Alt Text

  1. 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.

  2. 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.

  3. 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.

  4. Set the output directory path where you want to save the simulation

Youtube video

Embedded Video

elte-ik-diploma's People

Contributors

poros-tamas-gabor avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.