helpers
This commit is contained in:
parent
5951784c97
commit
ee4bf54bf3
|
@ -8,6 +8,13 @@
|
||||||
|
|
||||||
namespace orange
|
namespace orange
|
||||||
{
|
{
|
||||||
|
class BufferPool
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
VkBuffer m_buffer;
|
||||||
|
VkDeviceAddress m_va;
|
||||||
|
};
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
using VulkanResult = Result<T, VkResult, VK_SUCCESS, VK_ERROR_UNKNOWN, VK_ERROR_UNKNOWN>;
|
using VulkanResult = Result<T, VkResult, VK_SUCCESS, VK_ERROR_UNKNOWN, VK_ERROR_UNKNOWN>;
|
||||||
|
|
||||||
|
|
|
@ -27,4 +27,17 @@ namespace orange
|
||||||
.baseArrayLayer = 0,
|
.baseArrayLayer = 0,
|
||||||
.layerCount = 1,
|
.layerCount = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
constexpr VkFormat FormatToSrgbFormat(VkFormat format)
|
||||||
|
{
|
||||||
|
switch (format)
|
||||||
|
{
|
||||||
|
case VK_FORMAT_R8G8B8A8_UNORM:
|
||||||
|
return VK_FORMAT_R8G8B8A8_SRGB;
|
||||||
|
case VK_FORMAT_B8G8R8A8_UNORM:
|
||||||
|
return VK_FORMAT_B8G8R8A8_SRGB;
|
||||||
|
default:
|
||||||
|
return format;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -230,7 +230,7 @@ int main(int argc, char** argv)
|
||||||
VkPipelineRasterizationStateCreateInfo rasterizationInfo =
|
VkPipelineRasterizationStateCreateInfo rasterizationInfo =
|
||||||
{
|
{
|
||||||
.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
|
.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
|
||||||
.cullMode = VK_CULL_MODE_NONE, //VK_CULL_MODE_BACK_BIT,
|
.cullMode = VK_CULL_MODE_NONE, //VK_CULL_MODE_BACK_BIT,
|
||||||
.frontFace = VK_FRONT_FACE_CLOCKWISE,
|
.frontFace = VK_FRONT_FACE_CLOCKWISE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -295,7 +295,8 @@ int main(int argc, char** argv)
|
||||||
|
|
||||||
while (r_window->Update())
|
while (r_window->Update())
|
||||||
{
|
{
|
||||||
r_renderContext->BeginCommandBuffer(r_swapchain->CommandBuffer());
|
VkCommandBuffer cmdBuf = r_swapchain->CommandBuffer();
|
||||||
|
r_renderContext->BeginCommandBuffer(cmdBuf);
|
||||||
{
|
{
|
||||||
VkViewport viewport =
|
VkViewport viewport =
|
||||||
{
|
{
|
||||||
|
@ -313,8 +314,10 @@ int main(int argc, char** argv)
|
||||||
.extent = r_swapchain->Extent(),
|
.extent = r_swapchain->Extent(),
|
||||||
};
|
};
|
||||||
|
|
||||||
vkCmdSetViewport(r_swapchain->CommandBuffer(), 0, 1, &viewport);
|
vkCmdSetViewport(cmdBuf, 0, 1, &viewport);
|
||||||
vkCmdSetScissor(r_swapchain->CommandBuffer(), 0, 1, &scissor);
|
vkCmdSetScissor(cmdBuf, 0, 1, &scissor);
|
||||||
|
|
||||||
|
vkCmdBindPipeline(cmdBuf, VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline);
|
||||||
|
|
||||||
const VkRenderingAttachmentInfoKHR attachmentInfo =
|
const VkRenderingAttachmentInfoKHR attachmentInfo =
|
||||||
{
|
{
|
||||||
|
@ -334,10 +337,11 @@ int main(int argc, char** argv)
|
||||||
.colorAttachmentCount = 1,
|
.colorAttachmentCount = 1,
|
||||||
.pColorAttachments = &attachmentInfo,
|
.pColorAttachments = &attachmentInfo,
|
||||||
};
|
};
|
||||||
vkCmdBeginRendering(r_swapchain->CommandBuffer(), &renderInfo);
|
vkCmdBeginRendering(cmdBuf, &renderInfo);
|
||||||
vkCmdEndRendering(r_swapchain->CommandBuffer());
|
vkCmdDraw(cmdBuf, 3, 1, 0, 0);
|
||||||
|
vkCmdEndRendering(cmdBuf);
|
||||||
}
|
}
|
||||||
r_renderContext->EndCommandBuffer(r_swapchain->CommandBuffer());
|
r_renderContext->EndCommandBuffer(cmdBuf);
|
||||||
r_swapchain->Present();
|
r_swapchain->Present();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -111,7 +111,7 @@ namespace orange
|
||||||
.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
|
.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
|
||||||
.image = swapchainImages[i],
|
.image = swapchainImages[i],
|
||||||
.viewType = VK_IMAGE_VIEW_TYPE_2D,
|
.viewType = VK_IMAGE_VIEW_TYPE_2D,
|
||||||
.format = r_format->format,
|
.format = FormatToSrgbFormat(r_format->format),
|
||||||
.subresourceRange = FirstMipSubresourceRange,
|
.subresourceRange = FirstMipSubresourceRange,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue