Skip to content

Physics Engine Evaluation Lab (PEEL) designed to evaluate, compare and benchmark physics engines.

License

Notifications You must be signed in to change notification settings

physics-playground/PEEL

 
 

Repository files navigation

Physics Engine Evaluation Lab (PEEL)

Build Quality Gate Status Lines of Code

PEEL Logo

PEEL was designed to evaluate, compare and benchmark physics engines.

This is a branch of PEEL v2.0 PhysX Edition that was originally focused on evaluating performance of NVIDIA PhysX. The original PEEL v1.X is a separate repository that included support for more physics engines.

The modifications by Joel Van Eenwyk in this repository are focused on making it easier to compile and run. Summary of changes:

  1. PhysX 4 and JoltPhysics are both submodules that are compiled in as part of the main solution.
  2. Added CMake settings for PEEL application and plugins.
  3. Added configuration settings for CLion (.idea) and VSCode (.vscode).
  4. Added CMake build GitHub action.
  5. Added Sonar Cloud GitHub action to prevent regressions. See Sonar Cloud - PEEL for latest status.
  6. Moved PEEL and PEEL_Externals sub-folders into root for less nesting.
  7. Removed duplicate binaries (e.g., glew32.dll) and any binaries that we now build from source (e.g., those generated by PhysX). Note however that some of these binaries were custom-built so the version in this repository after building from source is expected to be different.

Windows is the only actively supported and tested platform. Development is primarily done with Visual Studio 2022 though other versions of Visual Studio are supported through CMake.

For information about how to use the tool itself see PEEL User Manual. Some information is outdated, but it is still a useful reference.

Setup

Requirements

  • Visual Studio 2022
  • CMake v3.22+

Steps

  1. Clone PEEL and include submodules.
  2. Run build.bat in root to generate project files and build for VS2022.

Generated solution is available under Build/x64_vs2022/PEEL.sln

Debugging

Command line arguments for doing a quick test with PhysX4 plugin:

-p "PINT_PhysX4.dll" -s "Media/#Scripts/Highlights.Script.txt

Screenshots

Dominoes

Dominoes

CylinderStack

CylinderStack

ThreeLegoGears

ThreeLegoGears

SphericalJointNet

SphericalJointNet

PortalScene2

PortalScene2

ArticulatedChain_MCArticulation

ArticulatedChain_MCArticulation

LegoExploding

LegoExploding

ConvexGalore3

ConvexGalore3

VoronoiFracture2

VoronoiFracture2

VoronoiFracture5

VoronoiFracture5

LegoSpeedChampions_DodgeChallenger

LegoSpeedChampions_DodgeChallenger

LegoPolicePursuitTruck

LegoPolicePursuitTruck

SceneConvexSweepVsStaticMeshes_TessBunny

SceneConvexSweepVsStaticMeshes_TessBunny

LegoStaticMesh (1)

LegoStaticMesh

LegoStaticMesh (2)

LegoStaticMesh

SceneRaycastVsStaticMeshes_TessBunnyShort

SceneRaycastVsStaticMeshes_TessBunnyShort

StaticMesh

StaticMesh

CaterpillarTrack

CaterpillarTrack

BulldozerTest

BulldozerTest

ConvexCompoundChain

ConvexCompoundChain

OverlapObjects_DynamicSpheres

OverlapObjects_DynamicSpheres

About

Physics Engine Evaluation Lab (PEEL) designed to evaluate, compare and benchmark physics engines.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 81.3%
  • C 18.1%
  • Other 0.6%