vulkan/opengl中的扩展、扩展计数和层计数是什么



正如标题所说,什么是扩展?例如,这段代码具体做什么?

VkInstanceCreateInfo createInfo = {};
unint32_t glfwExtensionCount = 0;
const char** glfwExtensions;
glfwExtensions = glfwGetRequiredInstanceExtensions(&glfwExtensionCount);
createInfo.enabledExtensionCount = glfwExtensionCount;
createInfo.ppEnabledExtensionNames = glfwExtensions;
createInfo.enabledLayerCount = 0;

TFM:

此函数返回GLFW为GLFW窗口创建Vulkan曲面所需的Vulkan实例扩展名的数组。如果成功,列表将始终包含VK_KHR_surface,因此如果不需要任何其他扩展,则可以将此列表直接传递给VkInstanceCreateInfo结构。

[…]

glfw中没有层数,只有Vulkan。

扩展通过附加的可选功能扩展了Vulkan API。Vulkan默认情况下是无头的,因此通过Swapchain向OS Surface提供输出就是这样的扩展。

层为Vulkan API调用引入了钩子,可以在函数调用到达图形驱动程序之前拦截和更改这些钩子。例如,它允许拦截Vulkan调用并检查您是否传递了正确的参数。或者一个层可以在输出中添加一个FPS计数器。

glfwGetRequiredInstanceExtensions只是Vulkan特有的函数,它不会与OpenGL 一起使用

最新更新