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