Skip to content

An interactive Solar System application made with C++ and Vulkan.

License

Notifications You must be signed in to change notification settings

TriangulumDesire/vulkan-solar-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vulkan Solar System

An interactive Solar System application made with C++20 and Vulkan.

Solar System preview.

This application is a 3D scene of the Solar System - including the Sun, eight planets, five IAU recognised dwarf planets, Sedna, and several rings and moons of the planets. Each planet has basic Phong shader. I tried to implement bloom on the Sun, but couldn't quite get it to work properly.

This is currently my largest Vulkan project. There are definitely ways in which I could have improved the abstraction and use of Vulkan in this application - one of the main being separating pipelines and descriptor sets instead of abstracting them into a single class.

Controls

  • Standard FPS camera controls:
    • Mouse to look around.
    • WASD to move forwards/backwards/sideways.
    • Space and Left control to move up and down.
    • Hold Left shift for faster movement.
    • Hold Left alt for slower movement.
    • Hold C to zoom in.
  • Time speed controls:
    • Left click for fastest.
    • Middle click for middle speed.
    • Right click for slow speed.
    • Right shift for very slow speed.
    • Enter to pause.
  • Other controls:
    • F11 to toggle fullscreen.
    • Tab to return to the Sun.
    • Escape to quit.

Dependencies

Asset Credits

Building

The Visual Studio solution files are available in the repository, and can be used to build the project (I currently do not know how to set up CMake/Makefiles yet; this may change in the future).

Worth noting is the location of the Vulkan SDK. You may need to tweak the project file so that it can properly include and link to the Vulkan SDK (including ShaderC) on your system. ShaderC might also need to be recompiled with Multi-Threaded code generation (instead of Multi-Threaded DLL).

About

An interactive Solar System application made with C++ and Vulkan.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages