Changeset b7fc3c2 in opengl-game for sdl-game.cpp
- Timestamp:
- Jun 10, 2021, 2:58:54 PM (4 years ago)
- Branches:
- feature/imgui-sdl
- Children:
- c1ec4f6
- Parents:
- bb76950
- git-author:
- Dmitry Portnoy <dportnoy@…> (06/10/21 14:53:52)
- git-committer:
- Dmitry Portnoy <dportnoy@…> (06/10/21 14:58:54)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sdl-game.cpp
rbb76950 rb7fc3c2 92 92 vkGetPhysicalDeviceProperties(physicalDevice, &deviceProperties); 93 93 94 objects_modelPipeline = VulkanBuffer<SSBO_ModelObject>(10, deviceProperties.limits.minUniformBufferOffsetAlignment); 94 objects_modelPipeline = VulkanBuffer<SSBO_ModelObject>(10, deviceProperties.limits.maxStorageBufferRange, 95 deviceProperties.limits.minStorageBufferOffsetAlignment); 95 96 96 97 initImGuiOverlay(); … … 448 449 449 450 void VulkanGame::updateScene() { 450 // Rotate the textured squares 451 for (SceneObject<ModelVertex, SSBO_ModelObject>& model : this->modelObjects) { 452 model.model_transform = 451 // TODO: Probably move the resizing to the VulkanBuffer class 452 if (objects_modelPipeline.resized) { 453 resizeBufferSet(storageBuffers_modelPipeline, objects_modelPipeline.memorySize(), resourceCommandPool, 454 graphicsQueue, true); 455 456 objects_modelPipeline.resize(); 457 458 modelPipeline.updateDescriptorInfo(1, &storageBuffers_modelPipeline.infoSet, swapChainImages.size()); 459 } 460 461 for (size_t i = 0; i < modelObjects.size(); i++) { 462 SceneObject<ModelVertex, SSBO_ModelObject>& obj = modelObjects[i]; 463 SSBO_ModelObject& objData = obj.ssbo; 464 465 // Rotate the textured squares 466 obj.model_transform = 453 467 translate(mat4(1.0f), vec3(0.0f, -2.0f, -0.0f)) * 454 468 rotate(mat4(1.0f), curTime * radians(90.0f), vec3(0.0f, 0.0f, 1.0f)); 455 model.modified = true; 456 } 457 458 // TODO: Probably move the resizing to the VulkanBuffer class 459 if (objects_modelPipeline.resized) { 460 // TODO: Also resize the dynamic ubo 461 resizeBufferSet(storageBuffers_modelPipeline, objects_modelPipeline.capacity * sizeof(SSBO_ModelObject), 462 resourceCommandPool, graphicsQueue, true); 463 464 objects_modelPipeline.resize(); 465 466 modelPipeline.updateDescriptorInfo(1, &storageBuffers_modelPipeline.infoSet, swapChainImages.size()); 467 } 468 469 for (size_t i = 0; i < modelObjects.size(); i++) { 470 if (modelObjects[i].modified) { 471 updateObject(modelObjects[i]); 472 updateBufferSet(storageBuffers_modelPipeline, i, modelObjects[i].ssbo); 469 obj.modified = true; 470 471 if (obj.modified) { 472 objData.model = obj.model_transform * obj.model_base; 473 obj.center = vec3(objData.model * vec4(0.0f, 0.0f, 0.0f, 1.0f)); 474 475 obj.modified = false; 476 477 updateBufferSet(storageBuffers_modelPipeline, i, objData); 473 478 } 474 479 }
Note:
See TracChangeset
for help on using the changeset viewer.