Git Product home page Git Product logo

virtualpilot's Introduction

VirtualPilot

This is a project I started using my 3D engine. I wanted to make a simple flight sim and model the Airbus A320. It is a work in progress, there is much left to do.

Things it does

  • Basic flight dynamics (not real aerodynamics but something that looks like it)
  • Load procedural terrain (and possibly real world terrain if the tiles are present)
  • Load a navaid database (only US navaids for now)
  • Load an A320 with 3D cockpit
    • Electrical system
    • FMGC (Flight Management and Guidance Computer)
    • PFD (Primary Flight Display)
    • ND (Navigation Display)
    • SD (System Display)
    • MCDU (Multifunction Control and Display Unit)
    • Basic flight plan (some hard-coded test waypoints)
    • Fly-by-wire

Things to work on

  • Feature fixes in Quick3D (see its own repository for details)
  • Airport generation => work in progress
  • Navaid database => work in progress
    • Usage of a binary format, plain text XML is way too slow on load
  • Concerning the A320
    • Finish the 3D cockpit (and eventually the whole aircraft for outside views)
    • Finish the FMGC and MCDU
    • Create all SD pages
    • Load a flight plan file (why not .fms, the X-Plane format)
    • Finish the ELAC (Elevator and Aileron Computer)
    • Finish the FAC (Flight Augmentation Computer)
    • Finish the normal flight law
    • Create the alternate flight laws
    • Create the hydraulic system
    • Create the pneumatic system
    • Create the CFIDU (Centralized Fault Display Interface Unit)
    • The list never ends...

Building on Windows, using QtCreator 4.X and Qt 5.X

  1. Open the VirtualPilot.pro in QtCreator
  2. Click the projects tab
  3. Uncheck Shadow Build (it is checked by default when opening a new Qt project)
  4. In the Build Steps group, click the Details button
  5. In Make arguments, type -jX where X is an integer that specifies the number of build threads you want to use (usually from 4 to 8)
    • Example: -j6 will use 6 threads for building
  6. Compile the whole project

Building on Linux, using QtCreator 4.X and Qt 5.X

The procedure here should be the same as above, but has not been tested yet.

FAQ

Q. Why can't I build using shadow build?
A. The project has dependencies on submodules, i.e quick3d and qt-plus. When those are finished building, the resulting library (.dll or .so) is copied to the bin folder of VirtualPilot. This copy does not work with shadow build, I did not take the time to understand why and fix it yet. But it is just a matter of using the correct paths...

Q. Why do my changes to some file in qt-plus or Quick3d don't show up at runtime?
A. The library was probably not copied to the bin folder of Virtual Pilot after build.
The qt-plus and Quick3d libraries are copied when Components_Generic is done building. Until I fix the project for all dependencies to copy correctly all the time, you may do the following:
When making a change in qt-plus or Quick3D, open any .cpp file in Components_Generic. Add a space anywhere, remove it, save the file (this forces a build of the module). Compile Components_Generic, the qt-plus and Quick3D libraries will be copied to the bin folder.

virtualpilot's People

Contributors

jango73 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

qtworks mapsworks

virtualpilot's Issues

Can you please write down a step by step method to build this?

This is not an issue but a necessity for the users to know how to build your code on their machines. From the code and screenshots it seems a fantastic project but without some instructions how to build it, like me, many other people would not be able to test it.
I am interested to know which version of Qt should I use and what steps should I follow to successfully compile it on my system because I had failed to compile it successfully in the recent past.

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.