#include #include #include #include #include"VKPipelineLayoutData.h" VK_NAMESPACE_BEGIN Material::Material(const AnsiString &n) { name=n; vertex_input=nullptr; shader_maps=new ShaderModuleMap; desc_manager=nullptr; pipeline_layout_data=nullptr; hgl_zero(mp_array); mi_data_bytes=0; mi_max_count=0; } Material::~Material() { SAFE_CLEAR(vertex_input); delete shader_maps; //不用SAFE_CLEAR是因为这个一定会有 SAFE_CLEAR(desc_manager); SAFE_CLEAR(pipeline_layout_data); for(int i=0;ipipeline_layout; } const bool Material::hasSet(const DescriptorSetType &dst)const { return desc_manager->hasSet(dst); } VIL *Material::CreateVIL(const VILConfig *format_map) { return vertex_input->CreateVIL(format_map); } bool Material::Release(VIL *vil) { return vertex_input->Release(vil); } const uint Material::GetVILCount() { return vertex_input->GetInstanceCount(); } VK_NAMESPACE_END