2021-06-16 21:03:52 +08:00
|
|
|
#include<hgl/graph/VKMaterialInstance.h>
|
|
|
|
#include<hgl/graph/VKMaterial.h>
|
|
|
|
#include<hgl/graph/VKMaterialParameters.h>
|
|
|
|
|
|
|
|
VK_NAMESPACE_BEGIN
|
|
|
|
MaterialInstance *Material::CreateInstance()
|
|
|
|
{
|
2021-06-22 14:48:08 +08:00
|
|
|
MaterialParameters *mp=CreateMP(DescriptorSetType::Value);
|
2021-06-16 21:03:52 +08:00
|
|
|
|
|
|
|
return(new MaterialInstance(this,mp));
|
|
|
|
}
|
|
|
|
|
|
|
|
MaterialInstance::MaterialInstance(Material *mtl,MaterialParameters *p)
|
|
|
|
{
|
|
|
|
material=mtl;
|
|
|
|
|
|
|
|
mp_value=p;
|
|
|
|
}
|
|
|
|
|
|
|
|
MaterialInstance::~MaterialInstance()
|
|
|
|
{
|
|
|
|
SAFE_CLEAR(mp_value);
|
|
|
|
}
|
|
|
|
|
2021-06-22 14:48:08 +08:00
|
|
|
MaterialParameters *MaterialInstance::GetMP(const DescriptorSetType &type)
|
2021-06-16 21:03:52 +08:00
|
|
|
{
|
2021-06-22 14:48:08 +08:00
|
|
|
//if(type==DescriptorSetType::Texture
|
2021-06-16 21:03:52 +08:00
|
|
|
// return mp_texture;
|
|
|
|
|
2021-06-22 14:48:08 +08:00
|
|
|
if(type==DescriptorSetType::Value)
|
2021-06-16 21:03:52 +08:00
|
|
|
return mp_value;
|
|
|
|
|
|
|
|
return material->GetMP(type);
|
|
|
|
}
|
|
|
|
VK_NAMESPACE_END
|