perpare it for VertexColor3D material.

This commit is contained in:
2023-09-27 20:31:46 +08:00
parent 253d113375
commit 6c7f9ea9d1
16 changed files with 191 additions and 14 deletions

View File

@@ -8,8 +8,6 @@
STD_MTL_NAMESPACE_BEGIN
struct Material2DCreateConfig:public MaterialCreateConfig
{
Prim prim; ///<图元类型
CoordinateSystem2D coordinate_system; ///<使用的坐标系
bool local_to_world; ///<包含LocalToWorld矩阵
@@ -18,10 +16,8 @@ struct Material2DCreateConfig:public MaterialCreateConfig
public:
Material2DCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const Prim &p):MaterialCreateConfig(da,name)
Material2DCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const Prim &p):MaterialCreateConfig(da,name,p)
{
prim=p;
rt_output.color=1; //输出一个颜色
rt_output.depth=false; //不输出深度
rt_output.stencil=false; //不输出stencil
@@ -37,11 +33,6 @@ public:
}
};//struct Material2DCreateConfig:public MaterialCreateConfig
namespace SamplerName
{
constexpr const char Color[]="TextureColor";
}
MaterialCreateInfo *CreateVertexColor2D(const Material2DCreateConfig *);
MaterialCreateInfo *CreatePureColor2D(const Material2DCreateConfig *);
MaterialCreateInfo *CreatePureTexture2D(const Material2DCreateConfig *);

View File

@@ -0,0 +1,33 @@
#pragma once
#include<hgl/graph/mtl/MaterialConfig.h>
#include<hgl/graph/CoordinateSystem.h>
#include<hgl/graph/VertexAttrib.h>
STD_MTL_NAMESPACE_BEGIN
struct Material3DCreateConfig:public MaterialCreateConfig
{
bool local_to_world; ///<包含LocalToWorld矩阵
VAT position_format; ///<position格式
public:
Material3DCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const Prim &p):MaterialCreateConfig(da,name,p)
{
rt_output.color=1; //输出一个颜色
rt_output.depth=true; //不输出深度
rt_output.stencil=false; //不输出stencil
local_to_world=false;
position_format=VAT_VEC3;
}
};//struct Material3DCreateConfig:public MaterialCreateConfig
//MaterialCreateInfo *CreateVertexColor2D(const Material2DCreateConfig *);
//MaterialCreateInfo *CreatePureColor2D(const Material2DCreateConfig *);
//MaterialCreateInfo *CreatePureTexture2D(const Material2DCreateConfig *);
//MaterialCreateInfo *CreateRectTexture2D(Material2DCreateConfig *);
//MaterialCreateInfo *CreateRectTexture2DArray(Material2DCreateConfig *);
STD_MTL_NAMESPACE_END

View File

@@ -22,15 +22,19 @@ struct MaterialCreateConfig
uint32 shader_stage_flag_bit; ///<需要的shader
Prim prim; ///<图元类型
public:
MaterialCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name)
MaterialCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const Prim &p)
{
dev_attr=da;
mtl_name=name;
shader_stage_flag_bit=VK_SHADER_STAGE_VERTEX_BIT|VK_SHADER_STAGE_FRAGMENT_BIT;
prim=p;
}
};//struct MaterialCreateConfig
STD_MTL_NAMESPACE_END

View File

@@ -0,0 +1,15 @@
#pragma once
namespace hgl
{
namespace graph
{
namespace mtl
{
namespace SamplerName
{
constexpr const char Color[] = "TextureColor";
}//namespace SamplerName
}//namespace mtl
}//namespace graph
}//namespace hgl