|
@@ -16,12 +16,6 @@ A multi core friendly rigid body physics and collision detection library suitabl
|
|
|
|
|
|
For more demos and [videos](https://www.youtube.com/watch?v=pwyCW0yNKMA&list=PLYXVwtOr1CBxbA50jVg2dKUQvHW_5OOom) go to the [Samples](Docs/Samples.md) section.
|
|
|
|
|
|
-To get started, look at the [HelloWorld](HelloWorld/HelloWorld.cpp) example. A [HelloWorld example using CMake FetchContent](https://github.com/jrouwe/JoltPhysicsHelloWorld) is also available to show how you can integrate Jolt Physics in a CMake project.
|
|
|
-
|
|
|
-If you're interested in how Jolt scales with multiple CPUs and compares to other physics engines, take a look at [this document](https://jrouwe.nl/jolt/JoltPhysicsMulticoreScaling.pdf).
|
|
|
-
|
|
|
-The slides for my GDC 2022 talk [Architecting Jolt Physics for 'Horizon Forbidden West'](https://gdcvault.com/play/1027560/Architecting-Jolt-Physics-for-Horizon) are now available ([video here](https://gdcvault.com/play/1027891/Architecting-Jolt-Physics-for-Horizon))!
|
|
|
-
|
|
|
## Design Considerations
|
|
|
|
|
|
So why create yet another physics engine? First of all, this has been a personal learning project and secondly I wanted to address some issues that I had with existing physics engines:
|
|
@@ -34,8 +28,6 @@ So why create yet another physics engine? First of all, this has been a personal
|
|
|
* The simulation runs deterministically, so you could replicate a simulation to a remote client by merely replicating the inputs to the simulation. Read the [Deterministic Simulation](https://jrouwe.github.io/JoltPhysics/) section to understand the limits of this.
|
|
|
* The simulation of this physics engine tries to simulate behavior of rigid bodies in the real world but makes approximations in the simulation so should mainly be used for games or VR simulations.
|
|
|
|
|
|
-For more information see the [Architecture and API documentation](https://jrouwe.github.io/JoltPhysics/) section.
|
|
|
-
|
|
|
## Features
|
|
|
|
|
|
* Simulation of rigid bodies of various shapes using continuous collision detection:
|
|
@@ -97,7 +89,15 @@ For more information see the [Architecture and API documentation](https://jrouwe
|
|
|
## Required CPU features
|
|
|
|
|
|
* On x86 the minimal requirements are SSE2 but the library can be compiled using SSE4.1, SSE4.2, AVX, AVX2, or AVX512.
|
|
|
-* On ARM64 the library requires NEON with FP16 support.
|
|
|
+* On ARM64 the library by default compiles with NEON and FP16, on ARM32 it can be compiled without any special CPU instructions.
|
|
|
+
|
|
|
+## Documentation
|
|
|
+
|
|
|
+To learn more about Jolt go to the [Architecture and API documentation](https://jrouwe.github.io/JoltPhysics/).
|
|
|
+
|
|
|
+To get started, look at the [HelloWorld](HelloWorld/HelloWorld.cpp) example. A [HelloWorld example using CMake FetchContent](https://github.com/jrouwe/JoltPhysicsHelloWorld) is also available to show how you can integrate Jolt Physics in a CMake project.
|
|
|
+
|
|
|
+Some algorithms used by Jolt are described in detail in my GDC 2022 talk Architecting Jolt Physics for 'Horizon Forbidden West' ([slides](https://gdcvault.com/play/1027560/Architecting-Jolt-Physics-for-Horizon), [video](https://gdcvault.com/play/1027891/Architecting-Jolt-Physics-for-Horizon)).
|
|
|
|
|
|
## Compiling
|
|
|
|
|
@@ -108,6 +108,10 @@ For more information see the [Architecture and API documentation](https://jrouwe
|
|
|
|
|
|
For build instructions go to the [Build](Build/README.md) section. When upgrading from an older version of the library go to the [Release Notes](Docs/ReleaseNotes.md) or [API Changes](Docs/APIChanges.md) sections.
|
|
|
|
|
|
+## Performance
|
|
|
+
|
|
|
+If you're interested in how Jolt scales with multiple CPUs and compares to other physics engines, take a look at [this document](https://jrouwe.nl/jolt/JoltPhysicsMulticoreScaling.pdf).
|
|
|
+
|
|
|
## Folder Structure
|
|
|
|
|
|
* Assets - This folder contains assets used by the TestFramework, Samples and JoltViewer.
|