ULRE/inc/hgl/shadergen/ShaderCreaterMap.h

26 lines
546 B
C
Raw Normal View History

2023-03-06 14:06:20 +08:00
#pragma once
#include<hgl/shadergen/ShaderCreater.h>
SHADERGEN_NAMESPACE_BEGIN
class ShaderCreaterMap:public ObjectMap<VkShaderStageFlagBits,ShaderCreater>
{
public:
using ObjectMap<VkShaderStageFlagBits,ShaderCreater>::ObjectMap;
bool Add(ShaderCreater *sc)
{
if(!sc)return(false);
VkShaderStageFlagBits flag=sc->GetShaderStage();
if(KeyExist(flag))
return(false);
ObjectMap<VkShaderStageFlagBits,ShaderCreater>::Add(flag,sc);
return(true);
}
};
SHADERGEN_NAMESPACE_END