将static MaterialFactory 定义移到.h

This commit is contained in:
2025-05-17 20:01:17 +08:00
parent fd1a629941
commit 2dd60fee7f
4 changed files with 11 additions and 27 deletions

View File

@@ -44,9 +44,11 @@ public:
}
};//class RegistryMaterialFactoryClass
#define DEFINE_MATERIAL_FACTORY(name) namespace{static RegistryMaterialFactoryClass<MaterialFactory##name> MaterialFactoryInstance_##name;}
#define DEFINE_MATERIAL_FACTORY_CLASS(name,create_func,cfg_type) \
MaterialCreateInfo *Create##name(const GPUDeviceAttribute *dev_attr,cfg_type *); \
\
namespace \
{ \
class MaterialFactory##name:public MaterialFactory \
{ \
public: \
@@ -63,7 +65,8 @@ public:
} \
}; \
\
DEFINE_MATERIAL_FACTORY(name)
static RegistryMaterialFactoryClass<MaterialFactory##name> MaterialFactoryInstance_##name; \
}
MaterialCreateInfo *CreateMaterialCreateInfo(const GPUDeviceAttribute *dev_attr,const MaterialName &,MaterialCreateConfig *cfg);