Jolt Patch

This commit is contained in:
2026-07-09 17:25:48 -07:00
parent cb19c9b5b4
commit 9d83c318b6
18 changed files with 2542 additions and 157 deletions

View File

@ -156,7 +156,9 @@ interface Body {
int GetMotionType();
void SetMotionType(int inMotionType);
[Value] RVec3 GetPosition();
void GetPositionInto([Ref] RVec3 outPosition);
[Value] Quat GetRotation();
void GetRotationInto([Ref] Quat outRotation);
[Value] Mat44 GetWorldTransform();
[Value] RVec3 GetCenterOfMassPosition();
[Value] Mat44 GetCenterOfMassTransform();
@ -198,6 +200,7 @@ interface MassProperties {
// BodyCreationSettings
interface BodyCreationSettings {
void BodyCreationSettings([Const] Shape inShape, [Const, Ref] RVec3 inPosition, [Const, Ref] Quat inRotation, int inMotionType, short inObjectLayer);
attribute short mObjectLayer;
attribute float mFriction;
attribute float mRestitution;
attribute float mLinearDamping;
@ -273,9 +276,39 @@ interface RayCastResult {
attribute float mFraction;
};
// RayCastSettings
interface RayCastSettings {
void RayCastSettings();
};
// BroadPhaseLayerFilter
interface BroadPhaseLayerFilter {
void BroadPhaseLayerFilter();
};
// ObjectLayerFilter
interface ObjectLayerFilter {
void ObjectLayerFilter();
};
// BodyFilter
interface BodyFilter {
void BodyFilter();
};
// ShapeFilter
interface ShapeFilter {
void ShapeFilter();
};
// BroadPhaseQuery
interface BroadPhaseQuery {
void CastRay([Const, Ref] RRayCast inRay, [Ref] RayCastResult ioHit, [Const, Ref] BroadPhaseLayerFilter inBroadPhaseLayerFilter, [Const, Ref] ObjectLayerFilter inObjectLayerFilter);
};
// NarrowPhaseQuery
interface NarrowPhaseQuery {
boolean CastRay([Const, Ref] RRayCast inRay, [Ref] RayCastResult ioHit);
boolean CastRay([Const, Ref] RRayCast inRay, [Ref] RayCastResult ioHit, [Const, Ref] RayCastSettings inRayCastSettings, [Const, Ref] BroadPhaseLayerFilter inBroadPhaseLayerFilter, [Const, Ref] ObjectLayerFilter inObjectLayerFilter, [Const, Ref] BodyFilter inBodyFilter, [Const, Ref] ShapeFilter inShapeFilter);
};
// PhysicsSystem
@ -292,6 +325,7 @@ interface PhysicsSystem {
void SetGravity([Const, Ref] Vec3 inGravity);
[Value] Vec3 GetGravity();
[Const, Ref] NarrowPhaseQuery GetNarrowPhaseQuery();
[Const, Ref] BroadPhaseQuery GetBroadPhaseQuery();
void AddConstraint(Constraint inConstraint);
void RemoveConstraint(Constraint inConstraint);
};