VkApplicationInfo appInfo{};
appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
appInfo.pApplicationName = "Hello Triangle";
appInfo.applicationVersion = VK_MAKE_VERSION(1, 0, 0);
appInfo.pEngineName = "No Engine";
appInfo.engineVersion = VK_MAKE_VERSION(1, 0, 0);
appInfo.apiVersion = VK_API_VERSION_1_0;
VkInstanceCreateInfo createInfo{};
createInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
createInfo.pApplicationInfo = &appInfo;
Vulkan 的很多结构体需要我们显式地在 sType 成员变量中
指定结构体的类型。此外,许多 Vulkan 的结构体还有一个 pNext 成员变
量,用来指向未来可能扩展的参数信息,现在,我们并没有使用它,将其
设置为 nullptr。
Vulkan 倾向于通过结构体传递信息,我们需要填写一个或多个结构体
来提供足够的信息创建 Vulkan 实例。
接下来,我们需
要指定需要的全局扩展。之前提到,Vulkan 是平台无关的 API,所以需要
一个和窗口系统交互的扩展。GLFW 库包含了一个可以返回这一扩展的函
数,我们可以直接使