Skip to content

Michael-Warrick/Vulkan-Compute-with-Graphics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vulkan Compute with Graphics Licence

GIF of simulation running Demo running on an M3 Macbook Pro

About

Vulkan Compute with Graphics is a demonstration of a theoretical concept, where physics objects and their relationships with the simulation world are entirely simulated on the GPU. This that for the entire length of the runtime, there is no copying of data from the host (CPU) to the local device (GPU) and all PhysicsObject data is stored in local device memory.

Requirements

Vulkan SDK 1.2 or later
CMake 3.25.3 or later

(Vulkan packages if building on Linux)

Getting Started

Clone the repository with the --recursive flag:

$ git clone --recursive https://github.com/Michael-Warrick/Vulkan-Compute-with-Graphics.git

Navigate to the project's root directory and create a build/ folder:

$ mkdir build

Enter the build/ folder:

$ cd build

Generate CMake files:

$ cmake ..

Build CMake project in Release mode:

$ cmake --build . --config Release

Run the executable (use platform specific extension):

$ ./Vulkan-Compute-with-Graphics.exe
$ ./Vulkan-Compute-with-Graphics

Dependencies

GLFW - Cross-platform windowing API.
GLM - Mathematics library.
ImGui - Immediate mode GUI library.
stb_image - Helper library for loading common image formats.
tiny_obj_loader - Helper library for loading OBJ (Wavefront) 3D models.
Vulkan-Hpp - C++ Bindings for Vulkan

Resources

Vulkan Documentation
Vulkan Tutorial
Sascha Willems: Vulkan C++ examples and demos

About

MSc Dissertation Project - rendering + physics on the GPU.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published