ULRE/inc/hgl/graph/mtl/MaterialConfig.h

42 lines
1.0 KiB
C
Raw Normal View History

#ifndef HGL_GRAPH_MTL_CONFIG_INCLUDE
#define HGL_GRAPH_MTL_CONFIG_INCLUDE
#include<hgl/graph/mtl/StdMaterial.h>
#include<hgl/type/String.h>
#include<hgl/graph/RenderTargetOutputConfig.h>
#include<hgl/graph/VK.h>
STD_MTL_NAMESPACE_BEGIN
2023-05-16 02:23:45 +08:00
class MaterialCreateInfo;
/**
*
*/
2023-06-02 20:45:19 +08:00
struct MaterialCreateConfig
{
2023-06-02 20:45:19 +08:00
const GPUDeviceAttribute *dev_attr;
AnsiString mtl_name; ///<材质名称
RenderTargetOutputConfig rt_output; ///<渲染目标输出配置
2023-06-12 15:45:34 +08:00
uint32 shader_stage_flag_bit; ///<需要的shader
2023-09-27 20:31:46 +08:00
Prim prim; ///<图元类型
public:
2023-09-27 20:31:46 +08:00
MaterialCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const Prim &p)
{
2023-06-02 20:45:19 +08:00
dev_attr=da;
mtl_name=name;
2023-06-12 15:45:34 +08:00
shader_stage_flag_bit=VK_SHADER_STAGE_VERTEX_BIT|VK_SHADER_STAGE_FRAGMENT_BIT;
2023-09-27 20:31:46 +08:00
prim=p;
}
2023-06-02 20:45:19 +08:00
};//struct MaterialCreateConfig
STD_MTL_NAMESPACE_END
#endif//HGL_GRAPH_MTL_CONFIG_INCLUDE