UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

24 lines 1.24 kB
import computePxVertices from "../engine/physx/computePxVertices"; import { physxPtr } from "../pointers/physxPtr"; import createSharedPool from "./utils/createSharedPool"; export const [requestPhysxConvexGeometry, releasePhysxConvexGeometry] = createSharedPool((params, manager) => { const { getConvexFlags, getCooking, getInsertionCallback, PxConvexMeshDesc, PxConvexMeshGeometry, PxSphereGeometry, PxBoxGeometry, destroy } = physxPtr[0]; const [typeSrc, x, y, z] = params; if (typeSrc === "cube") return new PxBoxGeometry(x * 0.5, y * 0.5, z * 0.5); if (typeSrc === "sphere" && x === y && x === z) return new PxSphereGeometry(x * 0.5); const [vec3Vector, count] = computePxVertices(manager); const desc = new PxConvexMeshDesc(); desc.flags = getConvexFlags(); desc.points.count = count; desc.points.stride = 12; desc.points.data = vec3Vector.data(); const convexMesh = getCooking().createConvexMesh(desc, getInsertionCallback()); const pxGeometry = new PxConvexMeshGeometry(convexMesh); destroy(desc); vec3Vector.clear(); destroy(vec3Vector); return pxGeometry; }, (target) => physxPtr[0].destroy(target)); //# sourceMappingURL=physxConvexGeometryPool.js.map