added primitive in Material2DCreateConfig

This commit is contained in:
2023-09-26 21:49:37 +08:00
parent e9a8e5bbf2
commit 922fc2661b
10 changed files with 36 additions and 27 deletions

View File

@@ -3,26 +3,37 @@
#include<hgl/graph/mtl/MaterialConfig.h>
#include<hgl/graph/CoordinateSystem.h>
#include<hgl/graph/VertexAttrib.h>
STD_MTL_NAMESPACE_BEGIN
struct Material2DCreateConfig:public MaterialCreateConfig
{
Prim prim; ///<图元类型
CoordinateSystem2D coordinate_system; ///<使用的坐标系
bool local_to_world; ///<包含LocalToWorld矩阵
VAT position_format; ///<position格式
public:
Material2DCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name):MaterialCreateConfig(da,name)
Material2DCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const Prim &p):MaterialCreateConfig(da,name)
{
prim=p;
rt_output.color=1; //输出一个颜色
rt_output.depth=false; //不输出深度
rt_output.stencil=false; //不输出stencil
coordinate_system=CoordinateSystem2D::NDC;
local_to_world=false;
if(prim==Prim::SolidRectangles
||prim==Prim::WireRectangles)
position_format=VAT_VEC4;
else
position_format=VAT_VEC2;
}
};//struct Material2DCreateConfig:public MaterialCreateConfig