// Setup Layout Binding for the Uniform buffer that contains "camera"
VkDescriptorSetLayoutBinding layoutBinding = {};
layoutBinding.binding = 0;
layoutBinding.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC;
layoutBinding.descriptorCount = 1;
layoutBinding.stageFlags = VK_SHADER_STAGE_VERTEX_BIT;
// Setup the Description Layout Info
VkDescriptorSetLayoutCreateInfo descLayoutInfo = {};
descLayoutInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
descLayoutInfo.pBindings = &layoutBinding;
descLayoutInfo.bindingCount = 1;
// Create Description Layout
VkDescriptorSetLayout descLayout = {};
res = vkCreateDescriptorSetLayout(_VkSystem.device, &descLayoutInfo, 0, &descLayout);
if (res != VK_SUCCESS)
return 1;
layout (binding = 0) uniform Block
{
// camera
vec2 camera;
// resolution (for scaling from pixels to NDC)
//vec2 pixelsToNdc;
};