summaryrefslogtreecommitdiff
path: root/src/window.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2023-11-07 16:32:51 -0500
committerJonathan Bradley <jcb@pikum.xyz>2023-11-15 13:23:41 -0500
commitbdcaefc871fe8efcfa3920109e8a52d6a194955d (patch)
treecabc444b7acc6d7ca97341798466c5d3d68ad526 /src/window.cpp
parent546e179d6095d07342b9b8f29f3b20eaaf3cf274 (diff)
display debug box for hovered entity
Diffstat (limited to 'src/window.cpp')
-rw-r--r--src/window.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/window.cpp b/src/window.cpp
index bb83b32..6e285b5 100644
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -1877,6 +1877,7 @@ void CreateGraphicsPipelines() {
dbgModelBufferCI.usage = VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_INDEX_BUFFER_BIT;
vkCreateBuffer(vkDevice, &dbgModelBufferCI, vkAllocator, &pkeDebugHitbox.indexBuffer);
vkGetBufferMemoryRequirements(vkDevice, pkeDebugHitbox.indexBuffer, &vkMemoryRequirements[index]);
+ pkeDebugHitbox.indexCount = 36;
// index++;
VkMemoryRequirements combinedMemReqs{};
@@ -2305,6 +2306,21 @@ void RecordCommandBuffer(VkCommandBuffer commandBuffer, uint32_t imageIndex) {
}
}
+ if (pkeDebugHitbox.instanceBuffer != VK_NULL_HANDLE) {
+ vkCmdBindPipeline(commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, pkePipelines.pipelines.TextureWireframe);
+ vkCmdBindDescriptorSets(commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, pkePipelines.vkPipelineLayout_Texture, 0, 1, &pkeDebugHitbox.vkDescriptorSets[imageIndex], 0, {});
+ vkCmdBindVertexBuffers(commandBuffer, 0, 1, &UniformBuffers[imageIndex], offsets);
+
+ // TODO don't hardcode firstBinding
+ vkCmdBindVertexBuffers(commandBuffer, 0, 1, &pkeDebugHitbox.vertexBuffer, offsets);
+ vkCmdBindVertexBuffers(commandBuffer, 1, 1, &pkeDebugHitbox.normalsBuffer, offsets);
+ vkCmdBindVertexBuffers(commandBuffer, 2, 1, &pkeDebugHitbox.uvBuffer, offsets);
+ vkCmdBindIndexBuffer(commandBuffer, pkeDebugHitbox.indexBuffer, offsets[0], VK_INDEX_TYPE_UINT16);
+
+ vkCmdBindVertexBuffers(commandBuffer, 3, 1, &pkeDebugHitbox.instanceBuffer, offsets);
+ vkCmdDrawIndexed(commandBuffer, pkeDebugHitbox.indexCount, pkeDebugHitbox.instanceCount, 0, 0, pkeDebugHitbox.instanceStartingIndex);
+ }
+
// present pass
vkCmdEndRenderPass(commandBuffer);