Changeset 9d21aac in opengl-game for sdl-game.cpp
- Timestamp:
- May 6, 2021, 3:24:42 AM (4 years ago)
- Branches:
- feature/imgui-sdl
- Children:
- 996dd3e
- Parents:
- 756162f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sdl-game.cpp
r756162f r9d21aac 103 103 modelPipeline.addAttribute(VK_FORMAT_R32_UINT, offset_of(&ModelVertex::objIndex)); 104 104 105 createBufferSet( uniformBuffers_modelPipeline, uniformBuffersMemory_modelPipeline,sizeof(UBO_VP_mats),105 createBufferSet(sizeof(UBO_VP_mats), 106 106 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, 107 uniformBuffer InfoList_modelPipeline);107 uniformBuffers_modelPipeline, uniformBuffersMemory_modelPipeline, uniformBufferInfoList_modelPipeline); 108 108 109 109 modelPipeline.addDescriptorInfo(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 110 110 VK_SHADER_STAGE_VERTEX_BIT, &uniformBufferInfoList_modelPipeline); 111 modelPipeline.addStorageDescriptor(VK_SHADER_STAGE_VERTEX_BIT); 111 modelPipeline.addDescriptorInfo(VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 112 VK_SHADER_STAGE_VERTEX_BIT, &modelPipeline.storageBufferSet.infoSet); 112 113 modelPipeline.addDescriptorInfo(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 113 114 VK_SHADER_STAGE_FRAGMENT_BIT, &floorTextureImageDescriptor); … … 256 257 257 258 void VulkanGame::initGraphicsPipelines() { 258 modelPipeline = GraphicsPipeline_Vulkan<ModelVertex , SSBO_ModelObject>(259 modelPipeline = GraphicsPipeline_Vulkan<ModelVertex>( 259 260 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, physicalDevice, device, renderPass, 260 261 { 0, 0, (int)swapChainExtent.width, (int)swapChainExtent.height }, swapChainImages, 16, 24, 10); 262 263 createBufferSet(modelPipeline.objectCapacity * sizeof(SSBO_ModelObject), 264 VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, 265 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, 266 modelPipeline.storageBufferSet.buffers, modelPipeline.storageBufferSet.memory, 267 modelPipeline.storageBufferSet.infoSet); 261 268 } 262 269 … … 468 475 modelPipeline.cleanupBuffers(); 469 476 477 for (size_t i = 0; i < modelPipeline.storageBufferSet.buffers.size(); i++) { 478 vkDestroyBuffer(device, modelPipeline.storageBufferSet.buffers[i], nullptr); 479 vkFreeMemory(device, modelPipeline.storageBufferSet.memory[i], nullptr); 480 } 481 470 482 // END UNREVIEWED SECTION 471 483 … … 1083 1095 } 1084 1096 1085 void VulkanGame::createBufferSet( vector<VkBuffer>& buffers, vector<VkDeviceMemory>& buffersMemory,1086 VkDeviceSize bufferSize, VkBufferUsageFlags flags, VkMemoryPropertyFlags properties,1097 void VulkanGame::createBufferSet(VkDeviceSize bufferSize, VkBufferUsageFlags flags, VkMemoryPropertyFlags properties, 1098 vector<VkBuffer>& buffers, vector<VkDeviceMemory>& buffersMemory, 1087 1099 vector<VkDescriptorBufferInfo>& bufferInfoList) { 1088 1100 buffers.resize(swapChainImageCount); … … 1230 1242 // instead of recreated every time 1231 1243 1232 createBufferSet( uniformBuffers_modelPipeline, uniformBuffersMemory_modelPipeline,sizeof(UBO_VP_mats),1244 createBufferSet(sizeof(UBO_VP_mats), 1233 1245 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, 1234 uniformBuffer InfoList_modelPipeline);1246 uniformBuffers_modelPipeline, uniformBuffersMemory_modelPipeline, uniformBufferInfoList_modelPipeline); 1235 1247 1236 1248 modelPipeline.updateRenderPass(renderPass);
Note:
See TracChangeset
for help on using the changeset viewer.