完成imageView创建
							parent
							
								
									4f45098811
								
							
						
					
					
						commit
						9a189740e3
					
				| 
						 | 
					@ -109,6 +109,8 @@ void HelloTriangleApplication::initVulkan() {
 | 
				
			||||||
	createLogicalDevice();
 | 
						createLogicalDevice();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	createSwapChain();
 | 
						createSwapChain();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						creatImageView();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -126,6 +128,11 @@ void HelloTriangleApplication::mainLoop(GLFWwindow* window){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void HelloTriangleApplication::cleanup(GLFWwindow* window) {
 | 
					void HelloTriangleApplication::cleanup(GLFWwindow* window) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (auto imageView : swapChainImageViews)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							vkDestroyImageView(device, imageView, nullptr);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	vkDestroySwapchainKHR(device, swapChain, nullptr);
 | 
						vkDestroySwapchainKHR(device, swapChain, nullptr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	vkDestroySurfaceKHR(instance, surface, nullptr);
 | 
						vkDestroySurfaceKHR(instance, surface, nullptr);
 | 
				
			||||||
| 
						 | 
					@ -523,6 +530,38 @@ void HelloTriangleApplication::createSwapChain()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void HelloTriangleApplication::creatImageView()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						swapChainImageViews.resize(swapChainImages.size());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (size_t i = 0; i < swapChainImages.size(); i++)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							VkImageViewCreateInfo creatInfo{};
 | 
				
			||||||
 | 
							creatInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
 | 
				
			||||||
 | 
							creatInfo.image = swapChainImages[i];
 | 
				
			||||||
 | 
							creatInfo.viewType = VK_IMAGE_VIEW_TYPE_2D;
 | 
				
			||||||
 | 
							creatInfo.format = swapChainImageFormat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							creatInfo.components.r = VK_COMPONENT_SWIZZLE_IDENTITY;
 | 
				
			||||||
 | 
							creatInfo.components.g = VK_COMPONENT_SWIZZLE_IDENTITY;
 | 
				
			||||||
 | 
							creatInfo.components.b = VK_COMPONENT_SWIZZLE_IDENTITY;
 | 
				
			||||||
 | 
							creatInfo.components.a = VK_COMPONENT_SWIZZLE_IDENTITY;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							creatInfo.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
 | 
				
			||||||
 | 
							creatInfo.subresourceRange.baseMipLevel = 0;
 | 
				
			||||||
 | 
							creatInfo.subresourceRange.levelCount = 1;
 | 
				
			||||||
 | 
							creatInfo.subresourceRange.baseArrayLayer = 0;
 | 
				
			||||||
 | 
							creatInfo.subresourceRange.layerCount = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (vkCreateImageView(device,&creatInfo,nullptr,&swapChainImageViews[i]) != VK_SUCCESS)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								throw std::runtime_error("failed to creat image view");
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool HelloTriangleApplication::checkValidationLayerSupport() {
 | 
					bool HelloTriangleApplication::checkValidationLayerSupport() {
 | 
				
			||||||
	uint32_t layerCount;
 | 
						uint32_t layerCount;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -59,6 +59,8 @@ private:
 | 
				
			||||||
	VkFormat swapChainImageFormat;
 | 
						VkFormat swapChainImageFormat;
 | 
				
			||||||
	VkExtent2D swapChainExtent;
 | 
						VkExtent2D swapChainExtent;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						std::vector<VkImageView> swapChainImageViews;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	struct QueueFamilyIndices
 | 
						struct QueueFamilyIndices
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		std::optional<uint32_t> graphicsFamily;
 | 
							std::optional<uint32_t> graphicsFamily;
 | 
				
			||||||
| 
						 | 
					@ -120,6 +122,8 @@ private:
 | 
				
			||||||
	VkExtent2D chooseSwapExtent(const VkSurfaceCapabilitiesKHR& capabilities);
 | 
						VkExtent2D chooseSwapExtent(const VkSurfaceCapabilitiesKHR& capabilities);
 | 
				
			||||||
	void createSwapChain();
 | 
						void createSwapChain();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						void creatImageView();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HelloTriangleApplication::HelloTriangleApplication()
 | 
					HelloTriangleApplication::HelloTriangleApplication()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue