MCPcopy Create free account
hub / github.com/Overv/VulkanTutorial / HelloTriangleApplication

Class HelloTriangleApplication

code/22_descriptor_set_layout.cpp:119–1198  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

117};
118
119class HelloTriangleApplication {
120public:
121 void run() {
122 initWindow();
123 initVulkan();
124 mainLoop();
125 cleanup();
126 }
127
128private:
129 GLFWwindow* window;
130
131 VkInstance instance;
132 VkDebugUtilsMessengerEXT debugMessenger;
133 VkSurfaceKHR surface;
134
135 VkPhysicalDevice physicalDevice = VK_NULL_HANDLE;
136 VkDevice device;
137
138 VkQueue graphicsQueue;
139 VkQueue presentQueue;
140
141 VkSwapchainKHR swapChain;
142 std::vector<VkImage> swapChainImages;
143 VkFormat swapChainImageFormat;
144 VkExtent2D swapChainExtent;
145 std::vector<VkImageView> swapChainImageViews;
146 std::vector<VkFramebuffer> swapChainFramebuffers;
147
148 VkRenderPass renderPass;
149 VkDescriptorSetLayout descriptorSetLayout;
150 VkPipelineLayout pipelineLayout;
151 VkPipeline graphicsPipeline;
152
153 VkCommandPool commandPool;
154
155 VkBuffer vertexBuffer;
156 VkDeviceMemory vertexBufferMemory;
157 VkBuffer indexBuffer;
158 VkDeviceMemory indexBufferMemory;
159
160 std::vector<VkBuffer> uniformBuffers;
161 std::vector<VkDeviceMemory> uniformBuffersMemory;
162 std::vector<void*> uniformBuffersMapped;
163
164 std::vector<VkCommandBuffer> commandBuffers;
165
166 std::vector<VkSemaphore> imageAvailableSemaphores;
167 std::vector<VkSemaphore> renderFinishedSemaphores;
168 std::vector<VkFence> inFlightFences;
169 uint32_t currentFrame = 0;
170
171 bool framebufferResized = false;
172
173 void initWindow() {
174 glfwInit();
175
176 glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected