diff options
Diffstat (limited to 'src/entities.cpp')
| -rw-r--r-- | src/entities.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/entities.cpp b/src/entities.cpp index a9108a0..c06aa3c 100644 --- a/src/entities.cpp +++ b/src/entities.cpp @@ -1,7 +1,10 @@ #include "entities.hpp" -#include <vulkan/vulkan_core.h> +#include "physics.hpp" + +#include <BulletCollision/CollisionShapes/btConvexHullShape.h> + DynArray<EntityType> GlobalEntityTypes{16}; void EntityType_Init() { @@ -546,7 +549,6 @@ void EntityType_Load(EntityType &et) { srcPtr = static_cast<char *>(gltfData->buffers[0].data) + accIndex.buffer_view->offset; memcpy(dstPtr, srcPtr, accIndex.buffer_view->size); - VkCommandBufferBeginInfo vkCommandBufferBeginInfo; vkCommandBufferBeginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; vkCommandBufferBeginInfo.pNext = nullptr; @@ -610,6 +612,14 @@ void EntityType_Load(EntityType &et) { vkAllocateMemory(vkDevice, &vkMemoryAllocateInfo, vkAllocator, &et.deviceMemoryInst); vkBindBufferMemory(vkDevice, grBinds.instanceBuffer, et.deviceMemoryInst, 0); + // bullet + { + et.bt.shape = Pke_New<btConvexHullShape>(MemBkt_Bullet); + btScalar *vertDataPointer = reinterpret_cast<btScalar *>(accVert.buffer_view->buffer->data); + vertDataPointer += accVert.buffer_view->offset; + new (et.bt.shape) btConvexHullShape(vertDataPointer, accVert.count, accVert.stride); + } + // cleanup cgltf_free(gltfData); AM_Destroy(assetHandle); |
