dmech 0.2.1
3D physics engine
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
dmech
dmech stands for "D mechanics": it is a real-time 3D physics engine written in D language, capable of simulating rigid body dynamics. It is more suitable for computer games than scientific simulations: the goal is to convince a player, rather than giving accurate results. dmech is GC-free and fully platform-independent, it can be used with any API or graphics engine. Currently dmech is in early stages of development and not considered for production use.
Screenshots
Features
Already implemented:
- Impulse-based rigid body dynamics with iterative SI solver
- High-performance collision detection (MPR algorithm)
- Basic geometry shapes (sphere, box, cylinder, cone, ellipsoid)
- Support for any convex shape defined by support mapping
- Multiple geometries per body
- Arbitrary static trimeshes (collision detection is optimized via BVH)
- Body constraints: distance, angular, slider, ball-socket, prismatic, hinge
- Persistent contact cache
- Ray cast support
Planned in future:
- More shapes (capsule, plane, convex hull, etc.)
- Minkowski sum shape
- Force fields
- Convex cast
- In long-term: vehicle engine, particles, soft-body physics
Dependencies
dmech heavily relies on dlib - a collection of utility libraries for D, including linear math and computational geometry functionality (it is recommended to use master, because dmech usually depends on latest repository changes).
Usage examples
See demos directory. All examples use DGL for rendering. Warning: demos may be not up-to-date with latest changes in dmech and DGL source code, please apologize for the inconvenience.
Precompiled demos (for Windows):
For real-world usage demo, check out Atrium, a physics-based action game.
License
Copyright (c) 2013-2015 Timur Gafarov. Distributed under the Boost Software License, Version 1.0. (See accompanying file COPYING or at http://www.boost.org/LICENSE10.txt)
- Registered by Timur Gafarov
- 0.2.1 released 9 years ago
- gecko0307/dmech
- github.com/gecko0307/dmech
- Boost
- Authors:
- Dependencies:
- dlib
- Versions:
-
0.4.1 2020-Jul-30 0.4.0 2019-Jun-27 0.3.1 2017-Nov-12 0.3.0 2017-Jan-03 0.2.6 2015-Oct-04 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
0 downloads this month
-
1275 downloads total
-
- Score:
- 2.4
- Short URL:
- dmech.dub.pm