https://github.com/cschladetsch/cppopengllboidgroups
Cpp23 system system for purely aesthetic reasons to create cool graphics.
https://github.com/cschladetsch/cppopengllboidgroups
bash cmake cpp opengl
Last synced: about 2 months ago
JSON representation
Cpp23 system system for purely aesthetic reasons to create cool graphics.
- Host: GitHub
- URL: https://github.com/cschladetsch/cppopengllboidgroups
- Owner: cschladetsch
- Created: 2025-06-25T13:17:18.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-25T18:30:51.000Z (about 1 year ago)
- Last Synced: 2025-06-25T18:43:30.491Z (about 1 year ago)
- Topics: bash, cmake, cpp, opengl
- Language: C++
- Homepage:
- Size: 20.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# CppLiquid - 3D Liquid Simulation
A C++23 OpenGL application that simulates multi-colored blob-based liquids in a 3D environment with a top-down view.
## Features
- Blob-based liquid simulation with multiple colored particle groups
- 3D walls bounding the simulation area with aesthetic lighting
- Top-down camera view
- Real-time physics simulation with pressure and viscosity forces
- Particle-particle and particle-wall collision detection
- 60Hz V-Sync enabled animation
- GPU-accelerated rendering with OpenGL 4.5
## Dependencies
- C++23 compiler
- CMake 3.25+
- OpenGL 4.5+
- GLEW
- GLFW3
- GLM
- Boost
## Building
```bash
./b
```
Or manually:
```bash
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc)
```
## Running
```bash
./r [options]
```
Or directly:
```bash
./build/CppLiquid [options]
```
### Command Line Options
- `--width ` - Set window width (default: 1280)
- `--height ` - Set window height (default: 720)
- `--help` - Show help message
### Examples
```bash
# Run with default settings
./r
# Run with custom window size
./r --width 1920 --height 1080
# Run fullscreen-sized
./r --width 2560 --height 1440
```
The simulation will open in a window showing colored liquid blobs bounded by 3D walls from a top-down perspective. The walls feature aesthetically pleasing off-angle lighting for better visual depth.
## Testing
Run all unit tests:
```bash
./test
```
Or manually:
```bash
./build/CppLiquidTests
```
The test suite includes:
- Liquid simulation physics tests
- Camera projection and view tests
- Wall mesh generation tests
- Boundary collision tests