QuarkPhysics
A 2D Soft Body and Rigid Body Physics Engine.
Install / Use
/learn @erayzesen/QuarkPhysicsREADME

QuarkPhysics is a 2D physics engine designed for games. Its goal is to provide a reasonable approach to simulate rigid bodies, soft bodies, and different physics models together.


Features
-
General Features
- Primitive shape types (circle, polygon, rectangle, etc.)
- Physical properties (mass, area, restitution, etc.)
- The API is designed specifically for 2D video games.
- Raycasting
- Collision layer masks for advanced collision filtering
- SAP for broadphase
- Supports sleeping islands to improve CPU performance.
- Flexible and advanced event system.
- Supports UV mapping with QMesh for rendering operations.
- It uses pixels directly as a unit without any abstractions.
- Unlimited shape-mesh support for bodies.
- Simple and consistent API
-
Rigid bodies
- Convex polygons support.
- Joints to connect bodies.
- Reasonable stability for stacked objects.
- Kinematic bodies for creating controllable physics objects.
- Area bodies for detecting and reporting collisions.
-
Soft Bodies
- Springs to connect particles.
- Mass-spring model.
- Area-volume preserving model.
- Shape matching features.
- Self collisions.
- PBD dynamics.
- Internal springs and internal particles for adding more complexity to soft body simulations.
- Customizable constraints for adding more control to simulations.
- Advanced particle methods.
Building Examples
You need to install SFML 2.x and CMake on your system before.
Download project, enter the main folder, and call this:
./build.sh -r
Or you can compile the project directly via gcc if you're on linux by calling this:
./run_linux_fast.sh -r
Using
Copy the "QuarkPhysics" named subfolder in the main folder to your project and use it.
Integrated Game Engines
Third Party
- nlohmann's json for the json parsing. (Importing meshes via *.qmesh files)
- ivanfratric's polypartition for the convex polygon partition operations
- SFML library for window,input,opengl.
- Doxygen-Awsome for the custom themed documentation.
Roadmap
- ~~1.0~~
- ~~API revisions~~ (v0.9x)
- ~~Optimizations~~ ( v0.9x)
- 1.1
- ~~UV support to QMesh~~ (v1.0.x)
- Fluid dynamics
- 1.2
- Destructable rigid bodies.
- 1.3
- Continuous collision dedection (CCD)
- Multithreading
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
