一:概述
在之前的一致(uniform)缓冲区(Vulkan入门系列10 - Uniform Buffer 资源描述符集)文章中,我们首次学习了描述符。在本章中,我们将学习一种新型描述符:图像采样器描述符。通过这种描述符,着色器可以通过采样器对象访问图像资源,就像我们在上一章中创建的采样器对象一样。
我们将首先修改描述符布局、描述符池和描述符集,以包含这样一个图像采样器描述符。之后,我们将在顶点中添加纹理坐标,并修改片段着色器,以便从纹理中读取颜色,而不仅仅是对顶点颜色进行插值。
二:更新描述符
在 createDescriptorSetLayout 函数中,为图像采样器描述符添加 VkDescriptorSetLayoutBinding。我们只需将其放在统一缓冲区之后的绑定中即可:
VkDescriptorSetLayoutBinding samplerLayoutBinding{};
samplerLayoutBinding.binding = 1;
sample