ULRE/example/Vulkan/VKMaterial.cpp

36 lines
627 B
C++
Raw Normal View History

2019-04-25 10:09:56 +08:00
#include"VKMaterial.h"
2019-04-25 21:57:37 +08:00
#include"VKDescriptorSets.h"
#include"VKShader.h"
#include"VKVertexAttributeBinding.h"
2019-04-25 10:09:56 +08:00
VK_NAMESPACE_BEGIN
2019-04-27 02:07:06 +08:00
Material::Material(Device *dev,Shader *s)
{
device=dev;
shader=s;
dsl_creater=new DescriptorSetLayoutCreater(dev);
}
2019-04-25 10:09:56 +08:00
Material::~Material()
{
2019-04-27 02:07:06 +08:00
delete dsl_creater;
2019-04-25 10:09:56 +08:00
delete shader;
}
MaterialInstance *Material::CreateInstance()
{
2019-04-27 01:36:58 +08:00
return(new MaterialInstance(this));
}
2019-04-27 01:36:58 +08:00
MaterialInstance::MaterialInstance(Material *m)
{
mat=m;
vab=->CreateVertexAttributeBinding();
}
MaterialInstance::~MaterialInstance()
{
delete vab;
2019-04-27 01:36:58 +08:00
delete dsl_creater;
2019-04-25 10:09:56 +08:00
}
VK_NAMESPACE_END