30 lines
773 B
C++
30 lines
773 B
C++
#ifndef HGL_GRAPH_VULKAN_SHADER_RESOURCE_INCLUDE
|
|
#define HGL_GRAPH_VULKAN_SHADER_RESOURCE_INCLUDE
|
|
|
|
#include<hgl/graph/vulkan/VK.h>
|
|
#include<hgl/type/BaseString.h>
|
|
#include<hgl/type/Map.h>
|
|
|
|
VK_NAMESPACE_BEGIN
|
|
struct ShaderResourceList
|
|
{
|
|
Map<UTF8String,int> binding_by_name; ///<名字索引
|
|
List<uint32_t> binding_list; ///<资源binding列表
|
|
|
|
public:
|
|
|
|
const int GetBinding(const UTF8String &name)const
|
|
{
|
|
int binding;
|
|
|
|
if(binding_by_name.Get(name,binding))
|
|
return binding;
|
|
else
|
|
return -1;
|
|
}
|
|
};//struct ShaderResource
|
|
|
|
using ShaderResource=ShaderResourceList[VK_DESCRIPTOR_TYPE_RANGE_SIZE];
|
|
VK_NAMESPACE_END
|
|
#endif//HGL_GRAPH_VULKAN_SHADER_RESOURCE_INCLUDE
|