diff --git a/data/shaders/glsl/dynamicrendering/texture.frag b/data/shaders/glsl/dynamicrendering/texture.frag index c86d35de..22553532 100644 --- a/data/shaders/glsl/dynamicrendering/texture.frag +++ b/data/shaders/glsl/dynamicrendering/texture.frag @@ -20,7 +20,5 @@ void main() vec3 diffuse = max(dot(N, L), 0.0) * vec3(1.0); float specular = pow(max(dot(R, V), 0.0), 16.0) * color.a; - outFragColor = vec4(diffuse * color.rgb + specular, 1.0); - - outFragColor = texture(samplerColor, inUV); + outFragColor = vec4(diffuse * color.rgb + specular, 1.0); } \ No newline at end of file diff --git a/data/shaders/glsl/dynamicrendering/texture.frag.spv b/data/shaders/glsl/dynamicrendering/texture.frag.spv index 78f2d155..1ab597cc 100644 Binary files a/data/shaders/glsl/dynamicrendering/texture.frag.spv and b/data/shaders/glsl/dynamicrendering/texture.frag.spv differ diff --git a/examples/dynamicrendering/dynamicrendering.cpp b/examples/dynamicrendering/dynamicrendering.cpp index 76090ce3..61187e3a 100644 --- a/examples/dynamicrendering/dynamicrendering.cpp +++ b/examples/dynamicrendering/dynamicrendering.cpp @@ -42,6 +42,7 @@ public: camera.setRotation(glm::vec3(-7.5f, 72.0f, 0.0f)); camera.setPerspective(60.0f, (float)width / (float)height, 0.1f, 256.0f); + enabledInstanceExtensions.push_back(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME); enabledDeviceExtensions.push_back(VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME); } @@ -61,6 +62,11 @@ public: renderPass = VK_NULL_HANDLE; } + void setupFrameBuffer() + { + // With VK_KHR_dynamic_rendering we no longer need a frame buffer, so skip the sample base framebuffer setup + } + // Enable physical device features required for this example virtual void getEnabledFeatures() { @@ -103,14 +109,14 @@ public: VkImageSubresourceRange{ VK_IMAGE_ASPECT_COLOR_BIT, 0, 1, 0, 1 }); vks::tools::insertImageMemoryBarrier( drawCmdBuffers[i], - swapChain.buffers[i].image, + depthStencil.image, 0, VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, - VkImageSubresourceRange{ VK_IMAGE_ASPECT_DEPTH_BIT, 0, 1, 0, 1 }); + VkImageSubresourceRange{ VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT, 0, 1, 0, 1 }); // New structures are used to define the attachments used in dynamic rendering VkRenderingAttachmentInfoKHR colorAttachment{};