Welcome to Sim3D! This is the successor to Sim2D which was written in Java and Processing. This engine is designed to simulate particles in a 3D environment using OpenGL and C++. It allows for particle collision and movement, and includes a scene editor for setting up simulation parameters.
The primary purpose of this particle simulation engine is to create particle simulations in C++ using OpenGL from scratch as much as possible, without relying on third-party libraries. The particles are represented as spheres and can interact with each other and with walls. The final goal is to add physics features like constraints, springs, etc., to turn it into a cloth simulation.
To run the engine, you will need:
Download and install Visual Studio from the official Microsoft website: https://visualstudio.microsoft.com/downloads/
Make sure to include the "Desktop development with C++" workload during installation.
git clone https://github.com/yourusername/sim3d.git
cd sim3d
If you haven't installed vcpkg yet, follow these steps:
git submodule add https://github.com/microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat
.\vcpkg integrate install
Use vcpkg to install ImGuizmo:
.\vcpkg install imguizmo
Ensuring that your project is configured to use the vcpkg toolchain file, you can either build it using visual studio, or MSbuild
To run the simulation:
main.cpp
file.main.cpp
file or use the scene editor. msbuild path\to\sim3d\sim3d.sln /p:Configuration=Release
cd path\to\sim3d
copy .\x64\Release\sim3d.exe .\sim3d\
.\sim3d\sim3d.exe
Use the following keyboard controls during simulation:
The following dependencies are included in the src/include
directory:
ImGuizmo is installed and managed through vcpkg.
If you have any questions, suggestions, or issues, feel free to contact anmolagrawal5704@gmail.com.