2021-06-16 21:03:52 +08:00
|
|
|
#ifndef HGL_GRAPH_VULKAN_MATERIAL_INSTANCE_INCLUDE
|
|
|
|
#define HGL_GRAPH_VULKAN_MATERIAL_INSTANCE_INCLUDE
|
|
|
|
|
|
|
|
#include<hgl/graph/VK.h>
|
|
|
|
|
|
|
|
VK_NAMESPACE_BEGIN
|
|
|
|
class MaterialInstance
|
|
|
|
{
|
|
|
|
Material *material;
|
|
|
|
|
2021-11-29 20:12:10 +08:00
|
|
|
VAB *vab;
|
|
|
|
|
2021-06-16 21:03:52 +08:00
|
|
|
MaterialParameters *mp_value;
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
2021-09-14 20:31:15 +08:00
|
|
|
friend class GPUDevice;
|
2021-06-16 21:03:52 +08:00
|
|
|
|
2021-11-29 20:12:10 +08:00
|
|
|
MaterialInstance(Material *,VAB *,MaterialParameters *);
|
2021-06-16 21:03:52 +08:00
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
virtual ~MaterialInstance();
|
|
|
|
|
|
|
|
Material *GetMaterial(){return material;}
|
|
|
|
|
2021-11-29 20:12:10 +08:00
|
|
|
const VAB *GetVAB()const{return vab;}
|
2021-06-16 21:03:52 +08:00
|
|
|
MaterialParameters *GetMP(){return mp_value;}
|
2021-09-27 21:20:22 +08:00
|
|
|
MaterialParameters *GetMP(const DescriptorSetsType &type);
|
2021-06-16 21:03:52 +08:00
|
|
|
};//class MaterialInstance
|
|
|
|
VK_NAMESPACE_END
|
|
|
|
#endif//HGL_GRAPH_VULKAN_MATERIAL_INSTANCE_INCLUDE
|
2022-01-05 11:26:24 +08:00
|
|
|
|