我正在尝试使ImGui在我的引擎中工作,但是在将其“覆盖”在我的立方体网格上时遇到了一些麻烦。我将这两个分别放在单独的命令缓冲区中,例如
std::array<VkCommandBuffer,2> cmdbuffers = { commandBuffers[imageIndex],imguicmdbuffers[imageIndex] };
然后在我的队列提交信息中,我将命令缓冲区计数设置为2并像这样将数据传递给它
submitInfo.commandBufferCount = 2;
submitInfo.pCommandBuffers = cmdbuffers.data();
但是现在发生的是它仅呈现imgui,或者如果我在数组中切换顺序,则仅呈现多维数据集,而不会两者都呈现。是否因为它们共享相同的渲染过程?我将VkRenderPassBeginInfo
透明颜色更改为仔细检查,实际上它要么清除黄色并绘制图像,要么清除红色并绘制立方体。我尝试将清除Alpha设置为0,但这不起作用,而且无论如何似乎都是一种hack。我感觉好像不了解它如何提交和执行命令缓冲区以及如何将其与渲染通道/帧缓冲区绑定在一起,所以怎么了?