Skip to content

Commit

Permalink
Bumped version numbers and prepared for beta release.
Browse files Browse the repository at this point in the history
  • Loading branch information
RossNordby committed Aug 17, 2018
1 parent 6bdaa36 commit 4b80420
Show file tree
Hide file tree
Showing 10 changed files with 31 additions and 38 deletions.
4 changes: 2 additions & 2 deletions BepuPhysics/BepuPhysics.csproj
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Version>2.0.0-alpha</Version>
<Version>2.0.0-beta</Version>
<Company>Bepu Entertainment LLC</Company>
<Authors>Ross Nordby</Authors>
<Description>Early version of BEPUphysics v2.</Description>
<Description>Speedy real time physics simulation library.</Description>
<Copyright>© Bepu Entertainment LLC</Copyright>
<PackageProjectUrl>https://github.com/bepu/bepuphysics2</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/bepu/bepuphysics2/blob/master/LICENSE.md</PackageLicenseUrl>
Expand Down
4 changes: 2 additions & 2 deletions BepuUtilities/BepuUtilities.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
<AssemblyName>BepuUtilities</AssemblyName>
<RootNamespace>BepuUtilities</RootNamespace>
<TargetFramework>netstandard2.0</TargetFramework>
<Version>2.0.0-alpha</Version>
<Version>2.0.0-beta</Version>
<Company>Bepu Entertainment LLC</Company>
<Authors>Ross Nordby</Authors>
<Description>Supporting utilities library for an early version of BEPUphysics v2.</Description>
<Description>Supporting utilities library for BEPUphysics v2.</Description>
<Copyright>© Bepu Entertainment LLC</Copyright>
<PackageProjectUrl>https://github.com/bepu/bepuphysics2</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/bepu/bepuphysics2/blob/master/LICENSE.md</PackageLicenseUrl>
Expand Down
2 changes: 1 addition & 1 deletion DemoContentBuilder/DemoContentBuilder.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<TargetFramework>netcoreapp2.1</TargetFramework>
<Platforms>AnyCPU;x86;x64</Platforms>
<LangVersion>7.3</LangVersion>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
Expand Down
4 changes: 2 additions & 2 deletions DemoContentLoader/DemoContentLoader.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<Optimize>False</Optimize>
<DefineConstants>TRACE;DEBUG;NETSTANDARD1_1</DefineConstants>
<DefineConstants>TRACE;DEBUG</DefineConstants>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<Optimize>True</Optimize>
<DefineConstants>TRACE;RELEASE;NETSTANDARD1_1</DefineConstants>
<DefineConstants>TRACE;RELEASE</DefineConstants>
</PropertyGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion DemoRenderer/DemoRenderer.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<TargetFramework>netcoreapp2.1</TargetFramework>
<RuntimeIdentifiers>win10-x64</RuntimeIdentifiers>
<LangVersion>7.3</LangVersion>
<!--<RuntimeFrameworkVersion>2.1.0-preview2-25616-02</RuntimeFrameworkVersion>-->
Expand Down
4 changes: 2 additions & 2 deletions DemoUtilities/DemoUtilities.csproj
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<LangVersion>7.2</LangVersion>
<TargetFramework>netcoreapp2.1</TargetFramework>
<LangVersion>7.3</LangVersion>
</PropertyGroup>

<ItemGroup>
Expand Down
4 changes: 2 additions & 2 deletions Demos/Demos.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<Optimize>true</Optimize>
<DefineConstants>TRACE;RELEASE;NETCOREAPP2_0</DefineConstants>
<DefineConstants>TRACE;RELEASE</DefineConstants>
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseStrip|AnyCPU'">
<Optimize>true</Optimize>
<DefineConstants>TRACE;RELEASE;NETCOREAPP2_0</DefineConstants>
<DefineConstants>TRACE;RELEASE</DefineConstants>
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
<Optimize>true</Optimize>
Expand Down
4 changes: 2 additions & 2 deletions Demos/Demos/MeshDemo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ public unsafe override void Initialize(ContentArchive content, Camera camera)
{
for (int k = 0; k < length; ++k)
{
var location = new Vector3(3, 3, 3) * new Vector3(i, j, k);// + new Vector3(-width * 1.5f, 1.5f, -length * 1.5f);
var location = new Vector3(5, 5, 5) * new Vector3(i, j, k);// + new Vector3(-width * 1.5f, 1.5f, -length * 1.5f);
var bodyDescription = new BodyDescription
{
Activity = new BodyActivityDescription { MinimumTimestepCountUnderThreshold = 32, SleepThreshold = -0.01f },
Activity = new BodyActivityDescription { MinimumTimestepCountUnderThreshold = 32, SleepThreshold = 0.01f },
Pose = new RigidPose
{
Orientation = BepuUtilities.Quaternion.Identity,
Expand Down
22 changes: 8 additions & 14 deletions Documentation/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This is a high level plan for future development. All dates and features are goals, not guarantees. For a detailed breakdown of tasks in progress, check the [issues](https://github.com/bepu/bepuphysics2/issues) page.

## Near future (Q2-Q3 2018)
## Near future (Q3-Q4 2018)

The big goals for the initial version are:
- Performance should generally be an order of magnitude better than v1.
Expand All @@ -13,30 +13,24 @@ Note that this release will lack many of v1's built in features, like:
- Full featured character controller (though I will likely provide a simple example version in the demos, just without the full upstepping/downstepping/stance shifting feature set).
- Dedicated vehicle type.

The initial version will be split into incremental stages: alpha, beta, and release. The alpha was released on March 31, 2018.
The initial version will be split into incremental stages: alpha, beta, and release. The alpha was released on March 31, 2018, and the beta on August 16, 2018.

### Beta (July 47, 2018)
The beta will still be missing some important pieces, but should be able to support most games.
- Triangulated mesh colliders with boundary smoothing.
- Tree-accelerated compound for larger collections of shapes.
- Simulation-wide ray and shape casts.
- A few additional common constraint types.

### Release (September-October 2018)
### Release (October-December 2018)
Should be able to support the core features required by physically complex games.
- Better handling of some dangerous performance corner cases in the solver.
- Fully enabled CCD.
- Convex hulls.
- Convex hulls and cylinders.
- Additional ease of use features, especially for supplying custom body properties to collision filtering and velocity integration.
- All of the (important) constraints from v1.
- More educational demos, including some deeper dives like showing how to create a custom voxel world collidable.

### Nice-to-haves
There are a few features which aren't fundamentally required for a release, but which are still high value. These might get pulled into one of the above milestones if possible. If they don't make it into the first version, they'll probably show up later.
There are a few features which aren't fundamentally required for a release, but which are still high value. These might get pulled into one of the above milestones if possible. If they don't make it into the first version, they might show up later.
- Further broad phase improvements.
- Experimental general convex boundary smoothing.
- Cylinders and cones.
- Cones.

## Medium term (Q3 2018-Q2 2019)
## Medium term (2019)

Once the initial version is ready, most of my time will move to things other than core engine development. Much of that time will be spent actually using the engine, so expect to see incremental enhancements and fixes driven by practical use.

Expand Down
19 changes: 9 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,31 @@

This is the repo for the bepuphysics v2 library, a complete rewrite of the C# 3d rigid body physics engine [BEPUphysics v1](https://github.com/bepu/bepuphysics1).

The library is still in alpha. Many important features are missing, and many bugs likely remain.
The library is still in beta. Many important features are missing, and many bugs likely remain.

The BepuPhysics and BepuUtilities libraries target .NET Standard 2.0 and should work on any supported platform. The demos are built on .NET Core 2.0 and require DX11.
The BepuPhysics and BepuUtilities libraries target .NET Standard 2.0 and should work on any supported platform. The demos are built on .NET Core 2.1 and require DX11.

The physics engine heavily uses System.Numerics.Vectors types, so to get good performance, you'll need a compiler which can consume those types (like RyuJIT).

To build the source, you'll need a recent version of Visual Studio with the .NET Core workload installed. Demos.sln references all relevant projects.

## Features

The alpha contains a basic featureset:
- Spheres, capsules, boxes
- Simple compounds of the above, mainly for use in smaller shapes where acceleration structures wouldn't be helpful
The beta contains:
- Spheres, capsules, boxes, triangles
- Compounds of the above
- Meshes
- Highly nonidiomatic APIs
- Automatic sleeping/waking management
- Ball socket, hinge, swivel hinge, and swing limit
- Ball socket, hinge, swivel hinge, swing limit, twist servo, twist motor, twist limit, angular servo, and angular motor
- Speediness

It notably does *not* yet include:
- Convex hulls, cylinders, cones, or other complex shapes
- Efficient compounds supporting many children
- Meshes
- Dedicated heightmap terrain meshes
- Mesh-mesh collision detection
- Bounciness, other than the frequency/damping ratio tuning
- Continuous collision detection, other than the speculative margin
- Scene-wide queries like ray casts or volume queries
- Shape casts
- Many useful constraint types

## Links
Expand Down

0 comments on commit 4b80420

Please sign in to comment.