diff --git a/examples/geometryshader/geometryshader.cpp b/examples/geometryshader/geometryshader.cpp index d15b04c4..1e63ad35 100644 --- a/examples/geometryshader/geometryshader.cpp +++ b/examples/geometryshader/geometryshader.cpp @@ -20,7 +20,6 @@ #include #include "vulkanexamplebase.h" #include "VulkanModel.hpp" -#include "VulkanTexture.hpp" #define VERTEX_BUFFER_BIND_ID 0 #define ENABLE_VALIDATION false @@ -45,13 +44,8 @@ public: struct { vks::Model object; - vks::Model leaves; } models; - struct { - vks::Texture2D leaf; - } textures; - struct { glm::mat4 projection; glm::mat4 model; @@ -128,7 +122,7 @@ public: VkCommandBufferBeginInfo cmdBufInfo = vks::initializers::commandBufferBeginInfo(); VkClearValue clearValues[2]; - clearValues[0].color = { { 0.0f, 0.0f, 0.2f, 0.0f } }; + clearValues[0].color = { { 0.0f, 0.0f, 0.0f, 0.0f } }; clearValues[1].depthStencil = { 1.0f, 0 }; VkRenderPassBeginInfo renderPassBeginInfo = vks::initializers::renderPassBeginInfo(); @@ -149,7 +143,8 @@ public: vkCmdBeginRenderPass(drawCmdBuffers[i], &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE); - VkViewport viewport = vks::initializers::viewport((float)width, (float)height, 0.0f, 1.0f); + VkViewport viewport = vks::initializers::viewport((float)width, (float)height, 0.0f, 1.0f + ); vkCmdSetViewport(drawCmdBuffers[i], 0, 1, &viewport); VkRect2D scissor = vks::initializers::rect2D(width, height, 0, 0); @@ -170,8 +165,6 @@ public: // Normal debugging if (displayNormals) { - vkCmdBindVertexBuffers(drawCmdBuffers[i], VERTEX_BUFFER_BIND_ID, 1, &models.leaves.vertices.buffer, offsets); - vkCmdBindIndexBuffer(drawCmdBuffers[i], models.leaves.indices.buffer, 0, VK_INDEX_TYPE_UINT32); vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelines.normals); vkCmdDrawIndexed(drawCmdBuffers[i], models.object.indexCount, 1, 0, 0, 0); } @@ -184,9 +177,7 @@ public: void loadAssets() { - models.object.loadFromFile(getAssetPath() + "models/tree.dae", vertexLayout, 0.25f, vulkanDevice, queue); - models.leaves.loadFromFile(getAssetPath() + "models/tree_leaves.dae", vertexLayout, 0.25f, vulkanDevice, queue); - textures.leaf.loadFromFile(getAssetPath() + "textures/leaf.ktx", VK_FORMAT_R8G8B8A8_UNORM, vulkanDevice, queue); + models.object.loadFromFile(getAssetPath() + "models/suzanne.obj", vertexLayout, 0.25f, vulkanDevice, queue); } void setupVertexDescriptions() @@ -237,9 +228,10 @@ public: void setupDescriptorPool() { - std::vector poolSizes = { + // Example uses two ubos + std::vector poolSizes = + { vks::initializers::descriptorPoolSize(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 2), - vks::initializers::descriptorPoolSize(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1), }; VkDescriptorPoolCreateInfo descriptorPoolInfo = @@ -264,12 +256,7 @@ public: vks::initializers::descriptorSetLayoutBinding( VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_GEOMETRY_BIT, - 1), - // Binding 2 : tba - vks::initializers::descriptorSetLayoutBinding( - VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, - VK_SHADER_STAGE_FRAGMENT_BIT, - 2), + 1) }; VkDescriptorSetLayoutCreateInfo descriptorLayout = @@ -310,13 +297,7 @@ public: descriptorSet, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 1, - &uniformBuffers.GS.descriptor), - // Binding 2 : tba - vks::initializers::writeDescriptorSet( - descriptorSet, - VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, - 2, - &textures.leaf.descriptor), + &uniformBuffers.GS.descriptor) }; vkUpdateDescriptorSets(device, writeDescriptorSets.size(), writeDescriptorSets.data(), 0, NULL);