Robot simulator for 2D and 3D applications made with Vulkan (optional Ray Tracing for Nvidia GPUs) and my own physics engine. I was planning on using Bullet physics... But learning how to make one seems fun :).
git clone https://github.com/Brenocq/RobotSimulator.git
cd RobotSimulator
make clean
# After installation:
make run -j4
These values are unreliable and come from what I think is going on in the code kk (things could change tomorrow as new ideas emerge.)
- GPU Rendering (Vulkan): 90%
- RayTracing (Nvidia): 80%
- User interface (Imgui): 20%
Physics engine (Bullet): 30%- Physics engine: 0%
- GPU acceleration (Cuda): 0%
This simulator is not well finished and I don't recommend trying to install it yet.
This simulator is using some libraries that were experimental in old version of g++. We can or change all #include with erros to #include<experimental/xxx>, or update the g++.
Please use g++ v8.2 or later to compile without errors.
g++ --version
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-8 g++-8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 40
g++ --version
First we need to download the vulkan SDK, I'm using the release 1.2.141.2. You can download the vulkan SDK here.
Extract the files to some folder.
tar -xzf vulkansdk-linux-x86_64-xxx.tar.gz
You can download the bullet SDK here. I am using the 2.87 version now (same used in libbullet-dev.)
After downloading, install the bullet library
sudo apt-get install -y libbullet-dev
(I won't use Bullet Engine anymore... It will be removed while I build one.)
Now we need to install the GLFW to create windows.
sudo apt-get install libglfw3-dev
If you prefer, you can build manually from the official website.
Now we'll have to download the GLM library to perform linear algebra.
sudo apt install libglm-dev
The last pass is to change the vulkan and buller SDK path in the makefile:
# Open Makefile
VULKAN_SDK_PATH = <path>/<xxx>/x86_64
BULLET_SDK_PATH = <path>/bullet3
- Alexander Overvoorde's Vulkan Tutorial
- Vulkan Programming Guide: The Official Guide to Learning Vulkan
- Guthmann's Imgui Tutorial
- GPSnoopy's Ray Tracing implementation
- Nvidia Vulkan Ray Tracing Tutorial
- Learning Game Physics with Bullet Physics and OpenGL
- Game Physics Engine Development
This project is licensed under the MIT License - check LICENSE for details.