An open API service indexing awesome lists of open source software.

https://github.com/professorcode1/computer-graphics-project

A simple flight simulator
https://github.com/professorcode1/computer-graphics-project

cherno cpp flight-simulation flight-simulator flowfield gpu-programming graphics-programming opengl procedural-generation

Last synced: 3 months ago
JSON representation

A simple flight simulator

Awesome Lists containing this project

README

          

Flight Simulator





preview

preview

The terrain is generated using Perlin Noise and 3 D perlin noise is used to generate dynamic flow field that dictate the movement and rotation of the clouds.

To use


git pull this project.


Install glfw3 on your system


download glm from github and place the glm library in the /usr/include directory.


Install make and just use the make command.



It won't run on windows ( sorry :| ). A lot of files have their positions hard coded relative to the executable. To use on windows you will have to find the names of all shaders and assets files and folders in the code and rename them with forward slashes. The clouds and trees constructor will also have to changed to use forward slash. And the `__builtin_trap` defined in the assert macro will have to be changed to something that windows supports.
Then use visual studios to build the project after installing glfw3, GLEW and glm.

Credits


Thanks to Yan Chernikov for their amazing OpenGL Series

Thanks to Niels Lohmann for the [JSON C++ Library](https://github.com/nlohmann/json)

Thanks to Ryo Suzuki for their C++ [Perlin Noise](https://github.com/Reputeless/PerlinNoise)

Thanks to Ashima Arts for their glsl implementations of [noises](https://github.com/ashima/webgl-noise)

Credits for the assets

Airplane by Poly by Google [CC-BY](https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/8VysVKMXN2J)

Airplane by Poly by Google [CC-BY](https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/8ciDd9k8wha)

Aeroplane by Gilang Romadhan [CC-BY](https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/9VeIc0cybp4)

Grass by hat_my_guy (https://poly.pizza/m/9S0fmIfGPO)

grass blades by Tiff Eidmann [CC-BY](https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/7jaHZEe1exG)

Grass #1 by Tomáš Bayer [CC-BY](https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/00rprwmzLKP)

Cumulus Clouds 5 by S. Paul Michael [CC-BY](https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/25RmW99gwuv)

Cumulus Clouds 2 by S. Paul Michael [CC-BY](https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/5ckRCisrnXh)

Clouds by Jarlan Perez [CC-BY](https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/b3Kia9N2fS2)

Cumuls Clouds 3 by S. Paul Michael [CC-BY](https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/3wzu2FRYXUi)

Cloud by Poly by Google [CC-BY](https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/44cGXp6_8WD)

Cloud by Quaternius (https://poly.pizza/m/KdFNOVn1Gf)

Clouds by Poly by Google [CC-BY](https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/5vL346OfNST)

Cloud by Poly by Google [CC-BY](https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/aQl2tRgDupm)

Cloud by [Quaternius](https://poly.pizza/m/P1cMV8qtN2)

Cloud by [Quaternius](https://poly.pizza/m/pjiBiLJwAl)

Cloud by [Quaternius](https://poly.pizza/m/F6DzCxDz6I)

Cloud by jeremy [CC-BY] via [Poly Pizza]