Skip to content

Commit fbb5abd

Browse files
committed
Adding project info to Readme
1 parent c9db0f1 commit fbb5abd

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

README.md

+30-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,31 @@
1-
# dreg
21
![Dreg logo](logos/dreg-logo-landscape.png)
2+
3+
Dreg is a general purpose driving physics engine, in other words, a self contained library capable of simulating the physics of a wheeled vehicle, which can be used from any programming language and in any development environment.
4+
5+
Dreg tries to be a cross-platform library, at the moment it supports running on Windows, Linux, Web (via Wasm) and Android.
6+
7+
It allows configuring the vehicle in a pretty flexible way, allowing to define some parameters as 2D graphs. [This editor](https://uo269984.github.io/TFG/editor/) simplifies the task of creating a configuration.
8+
9+
A set of performance tests is also included to measure the library performance in any platform. The binaries of these can be found in the [latest release](https://github.com/UO269984/dreg/releases/latest), or can be built as shown below. The web version is available to run at [this link](https://uo269984.github.io/TFG/performanceTest/).
10+
**Notice:** Before running the tests on Windows, run `chcp 65001` in the terminal where you are going to run the tests to set the right encoding.
11+
12+
13+
## Build project
14+
The build system is based on a set of Makefiles. It uses GCC to build the Linux version, mingw64 for Windows, Emscripten for WebAssembly and NDK for Android. To build the Linux version Clang has also been tested, showing a bit more performance than GCC. It can be used by adding `CXX=clang` as a parameter in the make command run.
15+
16+
Although no more C++ compilers apart from the mentioned have been tested, others outside of that list may also work, as Dreg does not rely on any compiler specific feature.
17+
18+
To link all subprojects that Dreg is made of, system symbolic links are used. Those links have to be created before compiling or running the project. To create them automatically run `make configure` in the project root folder.
19+
20+
```sh
21+
make configure #Configure symbolic links between subprojects
22+
make all #Build all subprojects
23+
```
24+
25+
After the build, the Dreg libraries for all platforms are placed in the _engine/build_ folder. The build also generates executables to run the unit and performance tests in the folders _test/unit_ and _test/performace_. After the build, the editor is also ready to be hosted as a web in the folder _configEditor/web_.
26+
27+
## Examples
28+
In [this repo](https://github.com/UO269984/dreg-demos) you can find an interactive vehicle demo developed in Unity.
29+
30+
## Name origin
31+
The name **Dreg** comes from mixing letters from _**dr**iving **e**n**g**ine_. This is a short, simple and easy to remember word, but in addition, it's a play on words, since Dreg is a small variation of the _drag_ word, referring to vehicle aerodynamic drag.

0 commit comments

Comments
 (0)