support new VILConfig

This commit is contained in:
2023-02-21 18:36:42 +08:00
parent f990539633
commit df8156cfe1
4 changed files with 28 additions and 10 deletions

2
CMCore

Submodule CMCore updated: 47f40baaab...ac5931ce26

View File

@@ -117,15 +117,37 @@ class Pipeline;
struct VAConfig
{
VkFormat format=PF_UNDEFINED;
bool instance=false;
VkFormat format;
bool instance;
public:
VAConfig()
{
format=PF_UNDEFINED;
instance=false;
}
VAConfig(const VkFormat fmt,bool inst=false)
{
format=fmt;
instance=inst;
}
CompOperatorMemcmp(const VAConfig &);
};
using VILConfig=Map<AnsiString,VAConfig>;
class VILConfig:public Map<AnsiString,VAConfig>
{
public:
using Map<AnsiString,VAConfig>::Map;
bool Add(const AnsiString &name,const VkFormat fmt,const bool inst=false)
{
return Map<AnsiString,VAConfig>::Add(name,VAConfig(fmt,inst));
}
};
class VertexInputLayout;
using VIL=VertexInputLayout;

View File

@@ -85,12 +85,8 @@ namespace hgl
//文本渲染Position坐标全部是使用整数这里强制要求Position输入流使用RGBA16I格式
{
VILConfig vil_config;
VAConfig va_cfg;
va_cfg.format=VF_V4I16;
va_cfg.instance=false;
vil_config.Add("Position",va_cfg);
vil_config.Add("Position",VF_V4I16);
material_instance=db->CreateMaterialInstance(material,&vil_config);
if(!material_instance)return(false);