@@ -64,15 +64,15 @@ class VulkanExample : public VulkanExampleBase
6464 // Size of the particle buffer in bytes
6565 size_t size{ 0 };
6666 };
67- std::vector <ParticleBuffer> particleBuffers;
67+ std::array <ParticleBuffer, maxConcurrentFrames > particleBuffers;
6868
6969 struct UniformBuffers {
7070 vks::Buffer particles;
7171 vks::Buffer environment;
7272 VkDescriptorSet particlesDescriptor{ VK_NULL_HANDLE };
7373 VkDescriptorSet environmentDescriptor{ VK_NULL_HANDLE };
7474 };
75- std::vector <UniformBuffers> uniformBuffers;
75+ std::array <UniformBuffers, maxConcurrentFrames > uniformBuffers;
7676
7777 struct UniformDataParticles {
7878 glm::mat4 projection;
@@ -216,7 +216,6 @@ class VulkanExample : public VulkanExampleBase
216216 }
217217
218218 // One buffer per concurrent frame, so we can update one frame while the other is still rendering
219- particleBuffers.resize (maxConcurrentFrames);
220219 for (auto & buffer : particleBuffers) {
221220 buffer.size = particles.size () * sizeof (Particle);
222221
@@ -449,7 +448,6 @@ class VulkanExample : public VulkanExampleBase
449448 // Prepare and initialize uniform buffers containing shader uniforms
450449 void prepareUniformBuffers ()
451450 {
452- uniformBuffers.resize (maxConcurrentFrames);
453451 for (auto & buffer : uniformBuffers) {
454452 VK_CHECK_RESULT (vulkanDevice->createBuffer (VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, &buffer.particles , sizeof (UniformDataParticles)));
455453 VK_CHECK_RESULT (vulkanDevice->createBuffer (VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, &buffer.environment , sizeof (UniformDataEnvironment)));
0 commit comments