SkillAgentSearch skills...

QuarkPhysics

A 2D Soft Body and Rigid Body Physics Engine.

Install / Use

/learn @erayzesen/QuarkPhysics

README

Quark Physics

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.

Documentation | Examples


Example 01

<details> <summary> Show Examples</summary>

Example 02 Example 02 Example 02 Example 03 Example 02

</details>

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

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

View on GitHub
GitHub Stars282
CategoryDevelopment
Updated4d ago
Forks12

Languages

C++

Security Score

100/100

Audited on Mar 27, 2026

No findings