Создание буфера данных
This commit is contained in:
		
							parent
							
								
									04676f3e70
								
							
						
					
					
						commit
						1095fc2006
					
				@ -42,6 +42,7 @@ class Vulkan
 | 
			
		||||
        void createRenderpass(); // Создание проходов рендера
 | 
			
		||||
        VkShaderModule createShaderModule(const char * filename); // Создание шейдерного модуля
 | 
			
		||||
        void createGraphicPipeline(); // Создание графического конвеера
 | 
			
		||||
        void createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkBuffer& buffer, VkDeviceMemory& bufferMemory); // Создание произвольного буфера данных
 | 
			
		||||
};  
 | 
			
		||||
 | 
			
		||||
#endif // VK_H
 | 
			
		||||
							
								
								
									
										17
									
								
								src/vk.cpp
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								src/vk.cpp
									
									
									
									
									
								
							@ -717,3 +717,20 @@ void Vulkan::createGraphicPipeline()
 | 
			
		||||
    vkDestroyShaderModule(logicalDevice, fragShaderModule, nullptr);
 | 
			
		||||
    vkDestroyShaderModule(logicalDevice, vertShaderModule, nullptr);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Создание произвольного буфера данных
 | 
			
		||||
void Vulkan::createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkBuffer& buffer, VkDeviceMemory& bufferMemory) 
 | 
			
		||||
{
 | 
			
		||||
    // Информация о создаваемом буфере
 | 
			
		||||
    VkBufferCreateInfo bufferInfo{};
 | 
			
		||||
    bufferInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
 | 
			
		||||
    bufferInfo.size = size;
 | 
			
		||||
    bufferInfo.usage = usage;
 | 
			
		||||
    bufferInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
 | 
			
		||||
 | 
			
		||||
    // Создание буфера
 | 
			
		||||
    if (vkCreateBuffer(logicalDevice, &bufferInfo, nullptr, &buffer) != VK_SUCCESS) 
 | 
			
		||||
    {
 | 
			
		||||
        throw std::runtime_error("Unable to create buffer");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user