Fix issue with freeing geometries
This commit is contained in:
@@ -85,6 +85,8 @@ namespace OpenVulkano::Vulkan
|
||||
cmdPools = nullptr;
|
||||
cmdBuffers = nullptr;
|
||||
semaphores = nullptr;
|
||||
geometries.clear();
|
||||
nodes.clear();
|
||||
device.destroyDescriptorPool(descriptorPool);
|
||||
allocations.clear();
|
||||
lastAllocation = nullptr;
|
||||
@@ -134,6 +136,7 @@ namespace OpenVulkano::Vulkan
|
||||
CreateDeviceOnlyBufferWithData(Utils::EnumAsInt(geometry->indexType) * geometry->GetIndexCount(), vk::BufferUsageFlagBits::eIndexBuffer, geometry->GetIndices()),
|
||||
freeFunction);
|
||||
VulkanGeometry* vkGeo = new VulkanGeometry(geometry, vertexBuffer, indexBuffer);
|
||||
geometries.emplace_back(vkGeo);
|
||||
geometry->renderGeo = vkGeo;
|
||||
return vkGeo;
|
||||
}
|
||||
@@ -176,6 +179,7 @@ namespace OpenVulkano::Vulkan
|
||||
uBuffer->Init(buffer, frameSize, allocSize, GetDescriptorLayoutSet(Scene::Node::DESCRIPTOR_SET_LAYOUT_BINDING), Scene::Node::DESCRIPTOR_SET_LAYOUT_BINDING, 0);
|
||||
vkNode->Init(node, uBuffer);
|
||||
node->renderNode = vkNode;
|
||||
nodes.emplace_back(vkNode);
|
||||
}
|
||||
return static_cast<VulkanNode*>(node->renderNode);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user