Parcourir la source

Documentation improvements

Jorrit Rouwe il y a 1 an
Parent
commit
5d0fb02384
4 fichiers modifiés avec 36 ajouts et 19 suppressions
  1. 6 0
      Build/README.md
  2. 6 2
      Docs/APIChanges.md
  3. 19 17
      Docs/ReleaseNotes.md
  4. 5 0
      Doxyfile

+ 6 - 0
Build/README.md

@@ -137,6 +137,12 @@ Note that you can also follow the steps in the 'Linux' section if you wish to bu
 - This will open XCode with a newly generated project
 - Build and run the project (note that this will only work in the simulator as the code signing information is not set up)
 
+## Other Build Tools
+
+* A vcpkg package is available [here](https://github.com/microsoft/vcpkg/tree/master/ports/joltphysics).
+* A xmake package is available [here](https://github.com/xmake-io/xmake-repo/tree/dev/packages/j/joltphysics).
+* Jolt has been verified to build with [ninja](https://ninja-build.org/) through CMake.
+
 ## Link Errors
 
 If you receive the following error when linking:

+ 6 - 2
Docs/APIChanges.md

@@ -4,6 +4,10 @@ This document lists all breaking API changes by date and by release tag. Note th
 
 Changes that make some state saved through SaveBinaryState from a prior version of the library unreadable by the new version is marked as *SBS*. See 'Saving Shapes' in [Architecture and API documentation](https://jrouwe.github.io/JoltPhysics/) for further information.
 
+## Changes between v4.0.0 and v4.0.1
+
+* No breaking changes.
+
 ## Changes between v3.0.1 and v4.0.0
 
 * 20231003 - *SBS* - Bug fix in serialization of SoftBodySharedSettings breaks binary serialization format. (ccb250747eee4dedebfa02d950775478fb52f786)
@@ -51,7 +55,7 @@ Changes that make some state saved through SaveBinaryState from a prior version
 * 20221027 - *SBS* (vehicles only) - Rewrote engine model for wheeled vehicle. Before engine inertia was only used when the clutch was pressed, now it is always used, so you may want to use a lower value. The way torque is distributed over the wheels has also changed and may require tweaking the vehicle parameters. (5ac751cee9afcc097fd4f884308f5e4dc9fdaeaf)
 * 20220903 - *SBS* - Added overrides for number of position/velocity solver iterations. Only affects serialization. (38ec33942ead4968a83409bd13d868f60e6397c4)
 * 20220826 - *SBS* - Removed FixedConstraintSettings and SliderConstraintSettings SetPoint functions. If you were calling this function replace it by setting mAutoDetectPoint = true. (d16a0b05bfeed42b1618e3774a9c953e6922d22b)
-* 20220614 - It is now possible to override the memory allocator, register the default using RegisterDefaultAllocator(). This means that the public API now takes STL containers that use a custom memory allocator so use Array instead of vector, UnorderedMap instead of unordered_map etc. If you're using placement new, replace new (x) y with ::new (x) y. Define JPH_DISABLE_CUSTOM_ALLOCATOR to disable this new behavior (b68097f582148d6f66c18a6ff95c5ca9b40b48cc)
+* 20220614 - It is now possible to override the memory allocator, register the default using RegisterDefaultAllocator(). This means that the public API now takes STL containers that use a custom memory allocator so use Array instead of vector, UnorderedMap instead of unordered_map etc. If you're using placement new, add ```::``` in front of new. Define JPH_DISABLE_CUSTOM_ALLOCATOR to disable this new behavior (b68097f582148d6f66c18a6ff95c5ca9b40b48cc)
 * 20220606 - *SBS* - The slider constraint now has frequency and damping for its limits (09d6d9d51c46fbd159bf98abfd43cc639f6c0403)
 * 20220606 - *SBS* - The rack and pinion and gear constraints were added (09d6d9d51c46fbd159bf98abfd43cc639f6c0403)
 * 20220517 - Note: Superseded by d16a0b05bfeed42b1618e3774a9c953e6922d22b. When constructing a FixedConstraint you now need to call FixedConstraintSettings::SetPoint to configure the point where the bodies attach (4f7c925c31f39eda1d8d68e4e72456b5def93d9b)
@@ -62,7 +66,7 @@ Changes that make some state saved through SaveBinaryState from a prior version
 * 20220502 - ContactConstraintManager::CombineFunction has additional parameters: the SubShapeIDs from both bodies (6b873563739dfd3d77263c2c50af2f3f418ec15b)
 * 20220415 - Removed Body::GetDebugName / SetDebugName, keep this info in a lookaside table if you need it (6db4d3beac6760e55f65102db00f93dfbc56ac26)
 * 20220406 - Renamed CollisionDispatch::sCastShapeVsShape to sCastShapeVsShapeLocalSpace (6ba21f50dcf17bd506080ec30759724a7f3097d8)
-* 20220327 - Changed the default include path, #include <xxx> must be replaced by #include <Jolt/xxx> (06e9d17d385814cd24d3b77d689c0a29d854e194)
+* 20220327 - Changed the default include path, ```#include <xxx>``` must be replaced by ```#include <Jolt/xxx>``` (06e9d17d385814cd24d3b77d689c0a29d854e194)
 * 20220318 - Added support for SSE2. If you want to use later versions of SSE make sure you have JPH_USE_SSE4_1 and JPH_USE_SSE4_2 defined (28f363856a007d03f657e46e8f6d90ccd7c6487a)
 * 20220303 - Note: Partially superseded by d16a0b05bfeed42b1618e3774a9c953e6922d22b. When constructing a SliderConstraint you now need to call SliderConstraintSettings::SetPoint to configure the point where the bodies attach. Also replace mSliderAxis = x with SetSliderAxis(x) (5a327ec182d0436d435c62d0bccb4e76c6324659)
 * 20220228 - PointConstraint::mCommonPoint is now mPoint1 / mPoint2. Replace mCommonPoint = x with mPoint1 = mPoint2 = x (066dfb8940ba3e7dbf8ed47e9a1eeb194730e04b)

+ 19 - 17
Docs/ReleaseNotes.md

@@ -1,28 +1,30 @@
+# Release Notes
+
 For breaking API changes see [this document](https://github.com/jrouwe/JoltPhysics/blob/master/Docs/APIChanges.md).
 
-# Unreleased changes
+## Unreleased changes
 
 * Created implementations of BroadPhaseLayerInterface, ObjectVsBroadPhaseLayerFilter and ObjectLayerPairFilter that use a bit table internally. These make it easier to define ObjectLayers which object layers collide.
 * Support for compiling with ninja on Windows.
 
-# v4.0.1
+## v4.0.1
 
-## New functionality
+### New functionality
 
 * Ability to stop overriding CMAKE_CXX_FLAGS_DEBUG/CMAKE_CXX_FLAGS_RELEASE which is important for Android as it uses a lot of extra flags. Set the OVERRIDE_CXX_FLAGS=NO cmake flag to enable this.
 * Reduced size of a contact constraint which saves a bit of memory during simulation.
 * Can now build a linux shared library using GCC.
 
-## Bug fixes
+### Bug fixes
 
 * Fixed mass scaling (as provided by the ContactListener) not applied correctly to CCD objects & during solve position constraints. This led to kinematic objects being pushed by dynamic objects.
 * Workaround for MSVC 17.8, limits.h doesn't include corecrt.h and triggers an error that \_\_STDC_WANT_SECURE_LIB\_\_ is not defined.
 * Fixed bug in MustIncludeC logic in GetClosestPointOnTriangle.
 * Removed the need for specifying -Wno-comment when compiling with GCC.
 
-# v4.0.0
+## v4.0.0
 
-## New functionality
+### New functionality
 * Added support for soft bodies (feature still in development, see [announcement](https://x.com/jrouwe/status/1687051655898955776?s=20)).
 * Support for limiting the degrees of freedom of a body to support 2D simulations (see [announcement](https://x.com/jrouwe/status/1676311800797622279?s=20)).
 * Support for setting surface velocity of a body (see [announcement](https://x.com/jrouwe/status/1662727355553443844?s=20)).
@@ -41,13 +43,13 @@ For breaking API changes see [this document](https://github.com/jrouwe/JoltPhysi
 * Support for building Jolt as a shared library on Windows.
 * Optimized Indexify function from O(N^2) to O(N log(N)).
 
-## Removed functionality
+### Removed functionality
 * Removed support for integration sub steps for PhysicsSystem::Update.
 
-## New supported platforms
+### New supported platforms
 * 32-bit versions of Android on ARM and x86.
 
-## Bug fixes
+### Bug fixes
 * Motor frequency/stiffness of 0 should turn the motor off.
 * RotatedTranslatedShape::GetPosition returned the wrong value.
 * If a body is removed between the broad phase detecting an overlap and the narrow phase locking the body, callbacks could be called on a body that has already been removed.
@@ -71,7 +73,7 @@ For breaking API changes see [this document](https://github.com/jrouwe/JoltPhysi
 * Don't allow the vehicle to sleep when the transmission is switching.
 * Fixed bug that caused suspension to be weaker when driving a vehicle over dynamic bodies.
 
-# v3.0.0
+## v3.0.0
 
 * Support for double precision simulation for large worlds (see [announcement](https://twitter.com/jrouwe/status/1599366630273712128))
 * Performance optimization that allows solving large islands on multiple threads (see [announcement](https://twitter.com/jrouwe/status/1633229953775828994))
@@ -84,13 +86,13 @@ For breaking API changes see [this document](https://github.com/jrouwe/JoltPhysi
 * Added a JobSystemWithBarrier class that makes it easier to integrate with your own job system
 * Support for 32-bit object layers to allow easier integration with existing collision filtering systems
  
-# v2.0.1
+## v2.0.1
 
 * Adds ARM 32-bit support to support vcpkg-tool
 
-# v2.0.0
+## v2.0.0
 
-## Major new functionality
+### Major new functionality
 * Simulation is now deterministic between Windows, Linux and macOS.
 * Support for custom memory allocators.
 * A new character class that lives outside the main simulation update and is mainly used for player movement (CharacterVirtual).
@@ -100,11 +102,11 @@ For breaking API changes see [this document](https://github.com/jrouwe/JoltPhysi
 * Improved engine model for wheeled vehicles.
 * Most constraints can now also be configured in local space.
 
-## New supported compilers
+### New supported compilers
 * MinGW
 * GCC
 
-## New supported platforms
+### New supported platforms
 * All intel platforms supporting SSE2 and higher (was SSE4.2)
 * 32-bit applications (was 64 bit only)
 * Windows on ARM
@@ -113,10 +115,10 @@ For breaking API changes see [this document](https://github.com/jrouwe/JoltPhysi
 * iOS
 * WebAssembly
 
-# v1.1.0
+## v1.1.0
 
 * Optimizations.
 
-# v1.0.0
+## v1.0.0
 
 * Initial stable release.

+ 5 - 0
Doxyfile

@@ -911,6 +911,11 @@ WARN_LOGFILE           =
 INPUT                  = ./Jolt \
                          ./Docs/Architecture.md \
                          ./Docs/Samples.md \
+                         ./Docs/PerformanceTest.md \
+                         ./Docs/ReleaseNotes.md \
+                         ./Docs/APIChanges.md \
+                         ./Build/README.md \
+                         ./Docs/ProjectsUsingJolt.md \
                          ./Docs/PhysicsSystemUpdate.svg
 
 # This tag can be used to specify the character encoding of the source files