| 133 | }; |
| 134 | |
| 135 | class HelloTriangleApplication { |
| 136 | public: |
| 137 | void run() { |
| 138 | initWindow(); |
| 139 | initVulkan(); |
| 140 | mainLoop(); |
| 141 | cleanup(); |
| 142 | } |
| 143 | |
| 144 | private: |
| 145 | GLFWwindow* window; |
| 146 | |
| 147 | VkInstance instance; |
| 148 | VkDebugUtilsMessengerEXT debugMessenger; |
| 149 | VkSurfaceKHR surface; |
| 150 | |
| 151 | VkPhysicalDevice physicalDevice = VK_NULL_HANDLE; |
| 152 | VkDevice device; |
| 153 | |
| 154 | VkQueue graphicsQueue; |
| 155 | VkQueue presentQueue; |
| 156 | |
| 157 | VkSwapchainKHR swapChain; |
| 158 | std::vector<VkImage> swapChainImages; |
| 159 | VkFormat swapChainImageFormat; |
| 160 | VkExtent2D swapChainExtent; |
| 161 | std::vector<VkImageView> swapChainImageViews; |
| 162 | std::vector<VkFramebuffer> swapChainFramebuffers; |
| 163 | |
| 164 | VkRenderPass renderPass; |
| 165 | VkDescriptorSetLayout descriptorSetLayout; |
| 166 | VkPipelineLayout pipelineLayout; |
| 167 | VkPipeline graphicsPipeline; |
| 168 | |
| 169 | VkCommandPool commandPool; |
| 170 | |
| 171 | VkImage depthImage; |
| 172 | VkDeviceMemory depthImageMemory; |
| 173 | VkImageView depthImageView; |
| 174 | |
| 175 | VkImage textureImage; |
| 176 | VkDeviceMemory textureImageMemory; |
| 177 | VkImageView textureImageView; |
| 178 | VkSampler textureSampler; |
| 179 | |
| 180 | VkBuffer vertexBuffer; |
| 181 | VkDeviceMemory vertexBufferMemory; |
| 182 | VkBuffer indexBuffer; |
| 183 | VkDeviceMemory indexBufferMemory; |
| 184 | |
| 185 | std::vector<VkBuffer> uniformBuffers; |
| 186 | std::vector<VkDeviceMemory> uniformBuffersMemory; |
| 187 | std::vector<void*> uniformBuffersMapped; |
| 188 | |
| 189 | VkDescriptorPool descriptorPool; |
| 190 | std::vector<VkDescriptorSet> descriptorSets; |
| 191 | |
| 192 | std::vector<VkCommandBuffer> commandBuffers; |
nothing calls this directly
no outgoing calls
no test coverage detected