Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //SHADER SOURCES
- const char* vertexShaderSource = R"(
- #version 450
- vec2 positions[3] = vec2[](
- vec2(0.0, -0.5),
- vec2(0.5, 0.5),
- vec2(-0.5, 0.5)
- );
- void main() {
- gl_Position = vec4(positions[gl_VertexIndex], 0.0, 1.0);
- }
- )";
- const char* pixelShaderSource = R"(
- #version 450
- layout(location = 0) out vec4 outColor;
- void main() {
- outColor = vec4(1.0, 0.0, 0.0, 1.0);
- }
- )";
- //DRAW CALL
- for (int i = 0; i < m_cmdBufs.size();i++) {
- VkCommandBufferBeginInfo vkCommandBufferBeginInfo{};
- vkCommandBufferBeginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
- CHECK_VK_RESULT(vkBeginCommandBuffer(m_cmdBufs[i], &vkCommandBufferBeginInfo));
- VkRenderPassBeginInfo vkRenderPassBeginInfo{};
- vkRenderPassBeginInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
- vkRenderPassBeginInfo.renderPass = m_renderPass;
- vkRenderPassBeginInfo.framebuffer = m_fbs[i];
- VkSurfaceCapabilitiesKHR SurfaceCaps;
- vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, &SurfaceCaps);
- vkRenderPassBeginInfo.renderArea.offset = { 0,0 };
- vkRenderPassBeginInfo.renderArea.extent = SurfaceCaps.currentExtent;
- VkClearValue clearValues[2];
- clearValues[0].color = { 0.001f,0.101f,0.001f,1.0f };//background color
- clearValues[1].depthStencil = { 1.0f,0 };
- vkRenderPassBeginInfo.clearValueCount = static_cast<uint32_t>(sizeof(clearValues) / sizeof(VkClearValue));
- vkRenderPassBeginInfo.pClearValues = clearValues;
- vkCmdBeginRenderPass(m_cmdBufs[i], &vkRenderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE);
- vkCmdBindPipeline(m_cmdBufs[i], VK_PIPELINE_BIND_POINT_GRAPHICS, m_pipeline);
- vkCmdDraw(m_cmdBufs[i], 3, 1, 0, 0);
- vkCmdEndRenderPass(m_cmdBufs[i]);
- CHECK_VK_RESULT(vkEndCommandBuffer(m_cmdBufs[i]));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement