mirror of
https://github.com/ocornut/imgui.git
synced 2024-11-28 09:30:56 +01:00
Fix Vulkan example for use when a depth buffer is active.
This commit is contained in:
parent
b36ba12929
commit
99b4f951b9
@ -388,10 +388,10 @@ void ImGui_ImplGlfwVulkan_RenderDrawLists(ImDrawData* draw_data)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
VkRect2D scissor;
|
VkRect2D scissor;
|
||||||
scissor.offset.x = static_cast<int32_t>(pcmd->ClipRect.x);
|
scissor.offset.x = (int32_t)(pcmd->ClipRect.x);
|
||||||
scissor.offset.y = static_cast<int32_t>(pcmd->ClipRect.y);
|
scissor.offset.y = (int32_t)(pcmd->ClipRect.y);
|
||||||
scissor.extent.width = static_cast<uint32_t>(pcmd->ClipRect.z - pcmd->ClipRect.x);
|
scissor.extent.width = (uint32_t)(pcmd->ClipRect.z - pcmd->ClipRect.x);
|
||||||
scissor.extent.height = static_cast<uint32_t>(pcmd->ClipRect.w - pcmd->ClipRect.y + 1); // TODO: + 1??????
|
scissor.extent.height = (uint32_t)(pcmd->ClipRect.w - pcmd->ClipRect.y + 1); // TODO: + 1??????
|
||||||
vkCmdSetScissor(g_CommandBuffer, 0, 1, &scissor);
|
vkCmdSetScissor(g_CommandBuffer, 0, 1, &scissor);
|
||||||
vkCmdDrawIndexed(g_CommandBuffer, pcmd->ElemCount, 1, idx_offset, vtx_offset, 0);
|
vkCmdDrawIndexed(g_CommandBuffer, pcmd->ElemCount, 1, idx_offset, vtx_offset, 0);
|
||||||
}
|
}
|
||||||
@ -725,6 +725,7 @@ bool ImGui_ImplGlfwVulkan_CreateDeviceObjects()
|
|||||||
raster_info.polygonMode = VK_POLYGON_MODE_FILL;
|
raster_info.polygonMode = VK_POLYGON_MODE_FILL;
|
||||||
raster_info.cullMode = VK_CULL_MODE_NONE;
|
raster_info.cullMode = VK_CULL_MODE_NONE;
|
||||||
raster_info.frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE;
|
raster_info.frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE;
|
||||||
|
raster_info.lineWidth = 1.0f;
|
||||||
|
|
||||||
VkPipelineMultisampleStateCreateInfo ms_info = {};
|
VkPipelineMultisampleStateCreateInfo ms_info = {};
|
||||||
ms_info.sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
|
ms_info.sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
|
||||||
@ -740,6 +741,9 @@ bool ImGui_ImplGlfwVulkan_CreateDeviceObjects()
|
|||||||
color_attachment[0].alphaBlendOp = VK_BLEND_OP_ADD;
|
color_attachment[0].alphaBlendOp = VK_BLEND_OP_ADD;
|
||||||
color_attachment[0].colorWriteMask = VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT;
|
color_attachment[0].colorWriteMask = VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT;
|
||||||
|
|
||||||
|
VkPipelineDepthStencilStateCreateInfo depth_info = {};
|
||||||
|
depth_info.sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
|
||||||
|
|
||||||
VkPipelineColorBlendStateCreateInfo blend_info = {};
|
VkPipelineColorBlendStateCreateInfo blend_info = {};
|
||||||
blend_info.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
|
blend_info.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
|
||||||
blend_info.attachmentCount = 1;
|
blend_info.attachmentCount = 1;
|
||||||
@ -761,6 +765,7 @@ bool ImGui_ImplGlfwVulkan_CreateDeviceObjects()
|
|||||||
info.pViewportState = &viewport_info;
|
info.pViewportState = &viewport_info;
|
||||||
info.pRasterizationState = &raster_info;
|
info.pRasterizationState = &raster_info;
|
||||||
info.pMultisampleState = &ms_info;
|
info.pMultisampleState = &ms_info;
|
||||||
|
info.pDepthStencilState = &depth_info;
|
||||||
info.pColorBlendState = &blend_info;
|
info.pColorBlendState = &blend_info;
|
||||||
info.pDynamicState = &dynamic_state;
|
info.pDynamicState = &dynamic_state;
|
||||||
info.layout = g_PipelineLayout;
|
info.layout = g_PipelineLayout;
|
||||||
|
Loading…
Reference in New Issue
Block a user