From d589afb3bb2762cb18ad10a41769fb2cbab05ec1 Mon Sep 17 00:00:00 2001 From: InkSoul Date: Thu, 18 May 2023 17:17:52 +0800 Subject: [PATCH] commit for revert --- homework/homework1/homework1.cpp | 21 ++++++++++++--------- homework/homework1/homework1.h | 2 ++ 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/homework/homework1/homework1.cpp b/homework/homework1/homework1.cpp index 30d11d1..2b18aa4 100644 --- a/homework/homework1/homework1.cpp +++ b/homework/homework1/homework1.cpp @@ -660,7 +660,7 @@ void VulkanExample::getEnabledFeatures() VkCommandBufferBeginInfo cmdBufInfo = vks::initializers::commandBufferBeginInfo(); VkClearValue clearValues[2]; - + clearValues[0].color = defaultClearColor; clearValues[0].color = { { 0.25f, 0.25f, 0.25f, 1.0f } };; clearValues[1].depthStencil = { 1.0f, 0 }; @@ -837,13 +837,16 @@ void VulkanExample::getEnabledFeatures() VkDescriptorPoolCreateInfo descriptorPoolInfo = vks::initializers::descriptorPoolCreateInfo(poolSizes, maxSetCount); VK_CHECK_RESULT(vkCreateDescriptorPool(device, &descriptorPoolInfo, nullptr, &descriptorPool)); - // Descriptor set layouts - - VkDescriptorSetLayoutCreateInfo descriptorSetLayoutCI = vks::initializers::descriptorSetLayoutCreateInfo(setLayoutBinding); + std::vector setLayoutBindings = + { + vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0), + vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 0), + vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0), + }; + // Descriptor set layout for passing matrices - - setLayoutBinding = vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0); + VkDescriptorSetLayoutCreateInfo descriptorSetLayoutCI = vks::initializers::descriptorSetLayoutCreateInfo(setLayoutBindings); VK_CHECK_RESULT(vkCreateDescriptorSetLayout(device, &descriptorSetLayoutCI, nullptr, &descriptorSetLayouts.matrices)); // Descriptor set layout for passing material textures @@ -853,7 +856,7 @@ void VulkanExample::getEnabledFeatures() // Descriptor set layout for passing skin joint matrices - setLayoutBinding = vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0); + VK_CHECK_RESULT(vkCreateDescriptorSetLayout(device, &descriptorSetLayoutCI, nullptr, &descriptorSetLayouts.jointMatrices)); // The pipeline layout uses three sets: @@ -969,7 +972,7 @@ void VulkanExample::getEnabledFeatures() // Map persistent VK_CHECK_RESULT(shaderData.buffer.map()); - + updateUniformBuffers(); } @@ -1000,7 +1003,7 @@ void VulkanExample::getEnabledFeatures() } if (!paused) { - glTFModel.updateAnimation(frameTimer,shaderData.skinSSBO); + glTFModel.updateAnimation(frameTimer,shaderData.buffer); } } diff --git a/homework/homework1/homework1.h b/homework/homework1/homework1.h index 2a97b4d..8404967 100644 --- a/homework/homework1/homework1.h +++ b/homework/homework1/homework1.h @@ -223,12 +223,14 @@ public: VkDescriptorSetLayout matrices; VkDescriptorSetLayout textures; VkDescriptorSetLayout jointMatrices; + VkDescriptorSetLayout ssbo; } descriptorSetLayouts; VkDescriptorSet descriptorSet; VulkanExample(); ~VulkanExample(); + void loadglTFFile(std::string filename); virtual void getEnabledFeatures(); void buildCommandBuffers();