diff --git a/inc/hgl/graph/mtl/Material2DCreateConfig.h b/inc/hgl/graph/mtl/Material2DCreateConfig.h index 9013fd76..eece84c8 100644 --- a/inc/hgl/graph/mtl/Material2DCreateConfig.h +++ b/inc/hgl/graph/mtl/Material2DCreateConfig.h @@ -31,6 +31,25 @@ public: else position_format=VAT_VEC2; } + + int Comp(const Material2DCreateConfig &cfg)const + { + int off=MaterialCreateConfig::Comp(cfg); + + if(off)return off; + + off=(int)coordinate_system-(int)cfg.coordinate_system; + if(off)return off; + + off=local_to_world-cfg.local_to_world; + if(off)return off; + + off=position_format.Comp(cfg.position_format); + + return off; + } + + CompOperator(const Material2DCreateConfig &,Comp) };//struct Material2DCreateConfig:public MaterialCreateConfig MaterialCreateInfo *CreateVertexColor2D(const Material2DCreateConfig *); diff --git a/inc/hgl/graph/mtl/Material3DCreateConfig.h b/inc/hgl/graph/mtl/Material3DCreateConfig.h index 161ac86a..e22256b1 100644 --- a/inc/hgl/graph/mtl/Material3DCreateConfig.h +++ b/inc/hgl/graph/mtl/Material3DCreateConfig.h @@ -30,6 +30,25 @@ public: // reverse_depth=false; } + + int Comp(const Material3DCreateConfig &cfg)const + { + int off=MaterialCreateConfig::Comp(cfg); + + if(off)return off; + + off=camera-cfg.camera; + if(off)return off; + + off=local_to_world-cfg.local_to_world; + if(off)return off; + + off=position_format.Comp(cfg.position_format); + + return off; + } + + CompOperator(const Material3DCreateConfig &,Comp) };//struct Material3DCreateConfig:public MaterialCreateConfig MaterialCreateInfo *CreateVertexColor3D(const Material3DCreateConfig *); diff --git a/inc/hgl/graph/mtl/MaterialConfig.h b/inc/hgl/graph/mtl/MaterialConfig.h index 42e4ae4f..18b0e837 100644 --- a/inc/hgl/graph/mtl/MaterialConfig.h +++ b/inc/hgl/graph/mtl/MaterialConfig.h @@ -37,6 +37,23 @@ public: prim=p; } + + int Comp(const MaterialCreateConfig &cfg)const + { + int off; + + off=hgl_cmp(rt_output,cfg.rt_output); + + if(off)return(off); + + off=(int)prim-(int)cfg.prim; + + if(off)return(off); + + return shader_stage_flag_bit-cfg.shader_stage_flag_bit; + } + + CompOperator(const MaterialCreateConfig &,Comp) };//struct MaterialCreateConfig STD_MTL_NAMESPACE_END #endif//HGL_GRAPH_MTL_CONFIG_INCLUDE