ULRE/example/Vulkan/VKMaterial.h

53 lines
994 B
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef HGL_GRAPH_VULKAN_MATERIAL_INCLUDE
#define HGL_GRAPH_VULKAN_MATERIAL_INCLUDE
#include"VK.h"
VK_NAMESPACE_BEGIN
class Shader;
class DescriptorSetLayoutCreater;
class MaterialInstance;
class VertexInputState;
/**
* 材质类<br>
* 用于管理shader提供DescriptorSetLayoutCreater
*/
class Material
{
Shader *shader;
VertexInputState *vis;
DescriptorSetLayoutCreater *dsl_creater;
public:
Material(Shader *s,VertexInputState *state,DescriptorSetLayoutCreater *dslc)
{
shader=s;
vis=state;
dsl_creater=dslc;
}
~Material();
MaterialInstance *CreateInstance();
};//class Material
/**
* 材质实例<br>
* 用于在指定Material的情况下具体绑定UBO/TEXTURE等提供pipeline
*/
class MaterialInstance
{
Material *mat;
public:
MaterialInstance(Material *m)
{
mat=m;
}
~MaterialInstance();
};//class MaterialInstance
VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_MATERIAL_INCLUDE