@@ -239,7 +239,7 @@ void initApplication(SDL_Window* window) {
239239 VKA (vkCreateDescriptorPool (context->device , &createInfo, 0 , &modelDescriptorPool));
240240 }
241241 for (uint32_t i = 0 ; i < FRAMES_IN_FLIGHT; ++i) {
242- createBuffer (context, &modelUniformBuffers[i], sizeof (glm::mat4), VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT);
242+ createBuffer (context, &modelUniformBuffers[i], sizeof (glm::mat4)* 2 , VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT);
243243 }
244244 {
245245 VkDescriptorSetLayoutBinding bindings[] = {
@@ -258,7 +258,7 @@ void initApplication(SDL_Window* window) {
258258 allocateInfo.pSetLayouts = &modelDescriptorSetLayout;
259259 VKA (vkAllocateDescriptorSets (context->device , &allocateInfo, &modelDescriptorSets[i]));
260260
261- VkDescriptorBufferInfo bufferInfo = {modelUniformBuffers[i].buffer , 0 , sizeof (glm::mat4)};
261+ VkDescriptorBufferInfo bufferInfo = {modelUniformBuffers[i].buffer , 0 , sizeof (glm::mat4)* 2 };
262262 VkDescriptorImageInfo imageInfo = {sampler, model.albedoTexture .view , VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL};
263263 VkWriteDescriptorSet descriptorWrites[2 ];
264264 descriptorWrites[0 ] = {VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET};
@@ -468,10 +468,12 @@ void renderApplication() {
468468 glm::mat4 modelMatrix = translationMatrix * scaleMatrix * rotationMatrix;
469469
470470 glm::mat4 modelViewProj = camera.viewProj * modelMatrix;
471+ glm::mat4 modelView = camera.view * modelMatrix;
471472
472473 void * mapped;
473- VK (vkMapMemory (context->device , modelUniformBuffers[frameIndex].memory , 0 , sizeof (glm::mat4), 0 , &mapped));
474+ VK (vkMapMemory (context->device , modelUniformBuffers[frameIndex].memory , 0 , sizeof (glm::mat4)* 2 , 0 , &mapped));
474475 memcpy (mapped, &modelViewProj, sizeof (modelViewProj));
476+ memcpy (((uint8_t *)mapped)+sizeof (glm::mat4), &modelView, sizeof (modelView));
475477 VK (vkUnmapMemory (context->device , modelUniformBuffers[frameIndex].memory ));
476478
477479 vkCmdBindPipeline (commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, modelPipeline.pipeline );
0 commit comments