Refactor Physics to separate PhysicsBackend

#673
This commit is contained in:
Wojtek Figat
2022-01-20 23:28:43 +01:00
parent cf1af53ab8
commit 427846f73b
66 changed files with 4803 additions and 4327 deletions

View File

@@ -2,8 +2,7 @@
#include "BoxCollider.h"
#include "Engine/Serialization/Serialization.h"
#include "Engine/Physics/Utilities.h"
#include <ThirdParty/PhysX/PxShape.h>
#include "Engine/Physics/PhysicsBackend.h"
BoxCollider::BoxCollider(const SpawnParams& params)
: Collider(params)
@@ -134,11 +133,11 @@ void BoxCollider::UpdateBounds()
BoundingSphere::FromBox(_box, _sphere);
}
void BoxCollider::GetGeometry(PxGeometryHolder& geometry)
void BoxCollider::GetGeometry(CollisionShape& collision)
{
Vector3 size = _size * _cachedScale;
size.Absolute();
const float minSize = 0.001f;
const PxBoxGeometry box(Math::Max(size.X * 0.5f, minSize), Math::Max(size.Y * 0.5f, minSize), Math::Max(size.Z * 0.5f, minSize));
geometry.storeAny(box);
size = Vector3::Max(size * 0.5f, Vector3(minSize));
collision.SetBox(size.Raw);
}