Prim改名为PrimitiveType,ParsePrimName改名为ParsePrimitiveType

This commit is contained in:
hyzboy 2025-05-04 23:36:28 +08:00
parent 7169429ede
commit 2b251f06d4
31 changed files with 71 additions and 71 deletions

View File

@ -46,7 +46,7 @@ private:
bool InitAutoMaterial() bool InitAutoMaterial()
{ {
mtl::Material2DCreateConfig cfg(device->GetDeviceAttribute(),"VertexColor2D",Prim::Lines); mtl::Material2DCreateConfig cfg(device->GetDeviceAttribute(),"VertexColor2D",PrimitiveType::Lines);
cfg.coordinate_system=CoordinateSystem2D::NDC; cfg.coordinate_system=CoordinateSystem2D::NDC;
cfg.local_to_world=false; cfg.local_to_world=false;
@ -60,7 +60,7 @@ private:
bool InitPipeline() bool InitPipeline()
{ {
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Lines); pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,PrimitiveType::Lines);
return pipeline; return pipeline;
} }

View File

@ -53,8 +53,8 @@ private:
return(false); return(false);
// pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d")); // pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
//pipeline=CreatePipeline(material_instance,OS_TEXT("res/pipeline/alpha2d"),Prim::LineStrip); //等同上一行为Framework重载默认使用swapchain的render target //pipeline=CreatePipeline(material_instance,OS_TEXT("res/pipeline/alpha2d"),PrimitiveType::LineStrip); //等同上一行为Framework重载默认使用swapchain的render target
pipeline=CreatePipeline(material_instance,InlinePipeline::Alpha2D,Prim::LineStrip); //等同上一行为Framework重载默认使用swapchain的render target pipeline=CreatePipeline(material_instance,InlinePipeline::Alpha2D,PrimitiveType::LineStrip); //等同上一行为Framework重载默认使用swapchain的render target
if(!pipeline) if(!pipeline)
return(false); return(false);

View File

@ -66,7 +66,7 @@ private:
if(!material_instance) if(!material_instance)
return(false); return(false);
pipeline=CreatePipeline(material_instance,OS_TEXT("res/pipeline/alpha2d"),Prim::SolidRectangles); //等同上一行为Framework重载默认使用swapchain的render target pipeline=CreatePipeline(material_instance,OS_TEXT("res/pipeline/alpha2d"),PrimitiveType::SolidRectangles); //等同上一行为Framework重载默认使用swapchain的render target
if(!pipeline) if(!pipeline)
return(false); return(false);

View File

@ -47,7 +47,7 @@ private:
bool InitPlaneGridMP() bool InitPlaneGridMP()
{ {
mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"VertexLuminance3D",Prim::Lines); mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"VertexLuminance3D",PrimitiveType::Lines);
cfg.local_to_world=true; cfg.local_to_world=true;
@ -64,7 +64,7 @@ private:
mi_plane_grid=db->CreateMaterialInstance(mtl_plane_grid,&vil_config,&white_color); mi_plane_grid=db->CreateMaterialInstance(mtl_plane_grid,&vil_config,&white_color);
if(!mi_plane_grid)return(false); if(!mi_plane_grid)return(false);
pipeline_plane_grid=CreatePipeline(mi_plane_grid,InlinePipeline::Solid3D,Prim::Lines); pipeline_plane_grid=CreatePipeline(mi_plane_grid,InlinePipeline::Solid3D,PrimitiveType::Lines);
if(!pipeline_plane_grid)return(false); if(!pipeline_plane_grid)return(false);
} }
@ -73,7 +73,7 @@ private:
bool InitBillboardMP() bool InitBillboardMP()
{ {
mtl::BillboardMaterialCreateConfig cfg(device->GetDeviceAttribute(),"Billboard2D",Prim::Billboard); mtl::BillboardMaterialCreateConfig cfg(device->GetDeviceAttribute(),"Billboard2D",PrimitiveType::Billboard);
{ {
cfg.fixed_size=true; cfg.fixed_size=true;
@ -83,7 +83,7 @@ private:
mi_billboard=db->CreateMaterialInstance(mci); mi_billboard=db->CreateMaterialInstance(mci);
if(!mi_billboard)return(false); if(!mi_billboard)return(false);
pipeline_billboard=CreatePipeline(mi_billboard,InlinePipeline::Solid3D,Prim::Billboard); pipeline_billboard=CreatePipeline(mi_billboard,InlinePipeline::Solid3D,PrimitiveType::Billboard);
if(!pipeline_billboard)return(false); if(!pipeline_billboard)return(false);
} }

View File

@ -47,7 +47,7 @@ private:
bool InitMaterial() bool InitMaterial()
{ {
{ {
mtl::Material2DCreateConfig cfg(GetDeviceAttribute(),"VertexColor2D",Prim::Triangles); mtl::Material2DCreateConfig cfg(GetDeviceAttribute(),"VertexColor2D",PrimitiveType::Triangles);
cfg.coordinate_system=CoordinateSystem2D::NDC; cfg.coordinate_system=CoordinateSystem2D::NDC;
cfg.local_to_world=true; cfg.local_to_world=true;
@ -65,7 +65,7 @@ private:
return(false); return(false);
// pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d")); // pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Triangles); //等同上一行为Framework重载默认使用swapchain的render target pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,PrimitiveType::Triangles); //等同上一行为Framework重载默认使用swapchain的render target
return pipeline; return pipeline;
} }

View File

@ -48,7 +48,7 @@ private:
bool InitMaterial() bool InitMaterial()
{ {
{ {
mtl::Material2DCreateConfig cfg(GetDeviceAttribute(),"PureColor2D",Prim::Triangles); mtl::Material2DCreateConfig cfg(GetDeviceAttribute(),"PureColor2D",PrimitiveType::Triangles);
cfg.coordinate_system=CoordinateSystem2D::NDC; cfg.coordinate_system=CoordinateSystem2D::NDC;
cfg.local_to_world=true; cfg.local_to_world=true;
@ -76,7 +76,7 @@ private:
} }
} }
pipeline=CreatePipeline(material,InlinePipeline::Solid2D,Prim::Triangles); pipeline=CreatePipeline(material,InlinePipeline::Solid2D,PrimitiveType::Triangles);
return pipeline; return pipeline;
} }

View File

@ -87,7 +87,7 @@ private:
bool InitAutoMaterial() bool InitAutoMaterial()
{ {
mtl::Material2DCreateConfig cfg(GetDeviceAttribute(),"VertexColor2d",Prim::Triangles); mtl::Material2DCreateConfig cfg(GetDeviceAttribute(),"VertexColor2d",PrimitiveType::Triangles);
cfg.coordinate_system=CoordinateSystem2D::NDC; cfg.coordinate_system=CoordinateSystem2D::NDC;
cfg.local_to_world=false; cfg.local_to_world=false;
@ -102,7 +102,7 @@ private:
bool InitPipeline() bool InitPipeline()
{ {
// pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d")); // pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Triangles); //等同上一行为Framework重载默认使用swapchain的render target pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,PrimitiveType::Triangles); //等同上一行为Framework重载默认使用swapchain的render target
return pipeline; return pipeline;
} }

View File

@ -46,7 +46,7 @@ private:
bool InitMaterial() bool InitMaterial()
{ {
mtl::Material2DCreateConfig cfg(GetDeviceAttribute(),"VertexColor2D",Prim::Triangles); mtl::Material2DCreateConfig cfg(GetDeviceAttribute(),"VertexColor2D",PrimitiveType::Triangles);
VILConfig vil_config; VILConfig vil_config;
@ -70,7 +70,7 @@ private:
return(false); return(false);
// pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d")); // pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Triangles); //等同上一行为Framework重载默认使用swapchain的render target pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,PrimitiveType::Triangles); //等同上一行为Framework重载默认使用swapchain的render target
return pipeline; return pipeline;
} }

View File

@ -42,7 +42,7 @@ private:
bool InitAutoMaterial() bool InitAutoMaterial()
{ {
mtl::Material2DCreateConfig cfg(GetDeviceAttribute(),"VertexColor2D",Prim::Triangles); mtl::Material2DCreateConfig cfg(GetDeviceAttribute(),"VertexColor2D",PrimitiveType::Triangles);
cfg.coordinate_system=CoordinateSystem2D::NDC; cfg.coordinate_system=CoordinateSystem2D::NDC;
cfg.local_to_world=false; cfg.local_to_world=false;
@ -57,7 +57,7 @@ private:
bool InitPipeline() bool InitPipeline()
{ {
// pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d")); // pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Triangles); //等同上一行为Framework重载默认使用swapchain的render target pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,PrimitiveType::Triangles); //等同上一行为Framework重载默认使用swapchain的render target
return pipeline; return pipeline;
} }

View File

@ -88,7 +88,7 @@ namespace
RenderPass *render_pass=device->GetRenderPass(); RenderPass *render_pass=device->GetRenderPass();
{ {
mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"VertexLuminance3D",Prim::Lines); mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"VertexLuminance3D",PrimitiveType::Lines);
cfg.mtl_name="VertexLuminance3D"; //注意必须用不同名字,未来改名材质文件名+cfg hash名 cfg.mtl_name="VertexLuminance3D"; //注意必须用不同名字,未来改名材质文件名+cfg hash名
cfg.local_to_world=true; cfg.local_to_world=true;
@ -107,7 +107,7 @@ namespace
} }
{ {
gizmo_line.pipeline=render_pass->CreatePipeline(gizmo_line.mtl,InlinePipeline::Solid3D,Prim::Lines); gizmo_line.pipeline=render_pass->CreatePipeline(gizmo_line.mtl,InlinePipeline::Solid3D,PrimitiveType::Lines);
if(!gizmo_line.pipeline) if(!gizmo_line.pipeline)
return(false); return(false);
@ -142,7 +142,7 @@ namespace
RenderPass *render_pass=device->GetRenderPass(); RenderPass *render_pass=device->GetRenderPass();
{ {
mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"Gizmo3D",Prim::Triangles); mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"Gizmo3D",PrimitiveType::Triangles);
cfg.local_to_world=true; cfg.local_to_world=true;
cfg.material_instance=true; cfg.material_instance=true;
@ -160,7 +160,7 @@ namespace
} }
{ {
gizmo_triangle.pipeline=render_pass->CreatePipeline(gizmo_triangle.mtl,InlinePipeline::Solid3D,Prim::Triangles); gizmo_triangle.pipeline=render_pass->CreatePipeline(gizmo_triangle.mtl,InlinePipeline::Solid3D,PrimitiveType::Triangles);
if(!gizmo_triangle.pipeline) if(!gizmo_triangle.pipeline)
return(false); return(false);
} }

View File

@ -49,7 +49,7 @@ private:
bool InitMDP() bool InitMDP()
{ {
mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"MetricCellsGrid",Prim::Fan); mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"MetricCellsGrid",PrimitiveType::Fan);
cfg.local_to_world=true; cfg.local_to_world=true;
@ -76,7 +76,7 @@ private:
material_instance=db->CreateMaterialInstance(material,nullptr,&mcg_data); material_instance=db->CreateMaterialInstance(material,nullptr,&mcg_data);
pipeline=CreatePipeline(material,InlinePipeline::Solid3D,Prim::Fan); pipeline=CreatePipeline(material,InlinePipeline::Solid3D,PrimitiveType::Fan);
return pipeline; return pipeline;
} }

View File

@ -26,7 +26,7 @@ private:
bool InitMDP() bool InitMDP()
{ {
mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"VertexLuminance3D",Prim::Lines); mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"VertexLuminance3D",PrimitiveType::Lines);
cfg.local_to_world=true; cfg.local_to_world=true;
cfg.position_format=VAT_VEC2; cfg.position_format=VAT_VEC2;
@ -50,7 +50,7 @@ private:
ce=COLOR((int)ce+1); ce=COLOR((int)ce+1);
} }
pipeline=CreatePipeline(material_instance[0],InlinePipeline::Solid3D,Prim::Lines); pipeline=CreatePipeline(material_instance[0],InlinePipeline::Solid3D,PrimitiveType::Lines);
return pipeline; return pipeline;
} }

View File

@ -51,7 +51,7 @@ private:
bool InitMaterialAndPipeline() bool InitMaterialAndPipeline()
{ {
mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"VertexLuminance2D",Prim::Lines); mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"VertexLuminance2D",PrimitiveType::Lines);
cfg.local_to_world=true; cfg.local_to_world=true;
@ -69,7 +69,7 @@ private:
mi_plane_grid=db->CreateMaterialInstance(mtl_plane_grid,&vil_config,&white_color); mi_plane_grid=db->CreateMaterialInstance(mtl_plane_grid,&vil_config,&white_color);
if(!mi_plane_grid)return(false); if(!mi_plane_grid)return(false);
pipeline_plane_grid=CreatePipeline(mi_plane_grid,InlinePipeline::Solid3D,Prim::Lines); pipeline_plane_grid=CreatePipeline(mi_plane_grid,InlinePipeline::Solid3D,PrimitiveType::Lines);
if(!pipeline_plane_grid)return(false); if(!pipeline_plane_grid)return(false);
} }
@ -83,7 +83,7 @@ private:
mi_line=db->CreateMaterialInstance(mtl_line,nullptr,&yellow_color); mi_line=db->CreateMaterialInstance(mtl_line,nullptr,&yellow_color);
if(!mi_line)return(false); if(!mi_line)return(false);
pipeline_line=CreatePipeline(mtl_line,InlinePipeline::Solid3D,Prim::Lines); pipeline_line=CreatePipeline(mtl_line,InlinePipeline::Solid3D,PrimitiveType::Lines);
if(!pipeline_line) if(!pipeline_line)
return(false); return(false);

View File

@ -104,7 +104,7 @@ private:
bool InitVertexLumMP() bool InitVertexLumMP()
{ {
mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"VertexLuminance3D",Prim::Lines); mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"VertexLuminance3D",PrimitiveType::Lines);
cfg.local_to_world=true; cfg.local_to_world=true;
@ -114,7 +114,7 @@ private:
mi_plane_grid=db->CreateMaterialInstance(mtl_vertex_lum,nullptr,&white_color); mi_plane_grid=db->CreateMaterialInstance(mtl_vertex_lum,nullptr,&white_color);
if(!mi_plane_grid)return(false); if(!mi_plane_grid)return(false);
p_line=CreatePipeline(mtl_vertex_lum,InlinePipeline::Solid3D,Prim::Lines); p_line=CreatePipeline(mtl_vertex_lum,InlinePipeline::Solid3D,PrimitiveType::Lines);
if(!p_line) if(!p_line)
return(false); return(false);
@ -132,7 +132,7 @@ private:
bool InitBlinnPhongSunLightMP() bool InitBlinnPhongSunLightMP()
{ {
mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"BlinnPhong3D",Prim::Triangles); mtl::Material3DCreateConfig cfg(device->GetDeviceAttribute(),"BlinnPhong3D",PrimitiveType::Triangles);
cfg.local_to_world=true; cfg.local_to_world=true;
cfg.material_instance=true; cfg.material_instance=true;
@ -170,7 +170,7 @@ private:
if(!mi_blinnphong[i])return(false); if(!mi_blinnphong[i])return(false);
} }
p_blinnphong=CreatePipeline(mtl_blinnphong,InlinePipeline::Solid3D,Prim::Triangles); p_blinnphong=CreatePipeline(mtl_blinnphong,InlinePipeline::Solid3D,PrimitiveType::Triangles);
if(!p_blinnphong) if(!p_blinnphong)
return(false); return(false);

View File

@ -51,7 +51,7 @@ private:
bool InitMaterial() bool InitMaterial()
{ {
mtl::Material2DCreateConfig cfg(device->GetDeviceAttribute(),"PureTexture2D",Prim::Fan); mtl::Material2DCreateConfig cfg(device->GetDeviceAttribute(),"PureTexture2D",PrimitiveType::Fan);
cfg.coordinate_system=CoordinateSystem2D::NDC; cfg.coordinate_system=CoordinateSystem2D::NDC;
cfg.local_to_world=false; cfg.local_to_world=false;
@ -62,7 +62,7 @@ private:
return(false); return(false);
// pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d")); // pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
pipeline=CreatePipeline(material,InlinePipeline::Solid2D,Prim::Fan); //等同上一行为Framework重载默认使用swapchain的render target pipeline=CreatePipeline(material,InlinePipeline::Solid2D,PrimitiveType::Fan); //等同上一行为Framework重载默认使用swapchain的render target
if(!pipeline) if(!pipeline)
return(false); return(false);

View File

@ -47,7 +47,7 @@ private:
bool InitMaterial() bool InitMaterial()
{ {
mtl::Material2DCreateConfig cfg(device->GetDeviceAttribute(),"RectTexture2D",Prim::SolidRectangles); mtl::Material2DCreateConfig cfg(device->GetDeviceAttribute(),"RectTexture2D",PrimitiveType::SolidRectangles);
cfg.coordinate_system=CoordinateSystem2D::ZeroToOne; cfg.coordinate_system=CoordinateSystem2D::ZeroToOne;
cfg.local_to_world=false; cfg.local_to_world=false;
@ -58,7 +58,7 @@ private:
return(false); return(false);
// pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d")); // pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
pipeline=CreatePipeline(material,InlinePipeline::Solid2D,Prim::SolidRectangles); //等同上一行为Framework重载默认使用swapchain的render target pipeline=CreatePipeline(material,InlinePipeline::Solid2D,PrimitiveType::SolidRectangles); //等同上一行为Framework重载默认使用swapchain的render target
if(!pipeline) if(!pipeline)
return(false); return(false);

View File

@ -91,7 +91,7 @@ private:
bool InitMaterial() bool InitMaterial()
{ {
mtl::Material2DCreateConfig cfg(device->GetDeviceAttribute(),"RectTexture2DArray",Prim::SolidRectangles); mtl::Material2DCreateConfig cfg(device->GetDeviceAttribute(),"RectTexture2DArray",PrimitiveType::SolidRectangles);
cfg.coordinate_system=CoordinateSystem2D::ZeroToOne; cfg.coordinate_system=CoordinateSystem2D::ZeroToOne;
cfg.local_to_world=true; cfg.local_to_world=true;
@ -101,7 +101,7 @@ private:
if(!material) if(!material)
return(false); return(false);
pipeline=CreatePipeline(material,InlinePipeline::Solid2D,Prim::SolidRectangles); //等同上一行为Framework重载默认使用swapchain的render target pipeline=CreatePipeline(material,InlinePipeline::Solid2D,PrimitiveType::SolidRectangles); //等同上一行为Framework重载默认使用swapchain的render target
if(!pipeline) if(!pipeline)
return(false); return(false);

View File

@ -56,15 +56,15 @@ public:
public: public:
Pipeline *CreatePipeline(Material *,const VIL *,const PipelineData *, const Prim &,const bool prim_restart=false); Pipeline *CreatePipeline(Material *,const VIL *,const PipelineData *, const PrimitiveType &,const bool prim_restart=false);
Pipeline *CreatePipeline(Material *,const VIL *,const InlinePipeline &, const Prim &,const bool prim_restart=false); Pipeline *CreatePipeline(Material *,const VIL *,const InlinePipeline &, const PrimitiveType &,const bool prim_restart=false);
Pipeline *CreatePipeline(Material *mtl, const PipelineData *, const Prim &,const bool prim_restart=false); Pipeline *CreatePipeline(Material *mtl, const PipelineData *, const PrimitiveType &,const bool prim_restart=false);
Pipeline *CreatePipeline(Material *mtl, const InlinePipeline &, const Prim &,const bool prim_restart=false); Pipeline *CreatePipeline(Material *mtl, const InlinePipeline &, const PrimitiveType &,const bool prim_restart=false);
Pipeline *CreatePipeline(MaterialInstance *, const InlinePipeline &, const Prim &,const bool prim_restart=false); Pipeline *CreatePipeline(MaterialInstance *, const InlinePipeline &, const PrimitiveType &,const bool prim_restart=false);
Pipeline *CreatePipeline(MaterialInstance *, const PipelineData *, const Prim &,const bool prim_restart=false); Pipeline *CreatePipeline(MaterialInstance *, const PipelineData *, const PrimitiveType &,const bool prim_restart=false);
Pipeline *CreatePipeline(MaterialInstance *, const OSString &, const Prim &,const bool prim_restart=false); Pipeline *CreatePipeline(MaterialInstance *, const OSString &, const PrimitiveType &,const bool prim_restart=false);
};//class RenderPass };//class RenderPass
VK_NAMESPACE_END VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_RENDER_PASS_INCLUDE #endif//HGL_GRAPH_VULKAN_RENDER_PASS_INCLUDE

View File

@ -16,7 +16,7 @@ struct Material2DCreateConfig:public MaterialCreateConfig,public Comparator<Mate
public: public:
Material2DCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const Prim &p):MaterialCreateConfig(da,name,p) Material2DCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const PrimitiveType &p):MaterialCreateConfig(da,name,p)
{ {
rt_output.color=1; //输出一个颜色 rt_output.color=1; //输出一个颜色
rt_output.depth=false; //不输出深度 rt_output.depth=false; //不输出深度
@ -25,8 +25,8 @@ public:
coordinate_system=CoordinateSystem2D::NDC; coordinate_system=CoordinateSystem2D::NDC;
local_to_world=false; local_to_world=false;
if(prim==Prim::SolidRectangles if(prim==PrimitiveType::SolidRectangles
||prim==Prim::WireRectangles) ||prim==PrimitiveType::WireRectangles)
position_format=VAT_VEC4; position_format=VAT_VEC4;
else else
position_format=VAT_VEC2; position_format=VAT_VEC2;

View File

@ -18,7 +18,7 @@ struct Material3DCreateConfig:public MaterialCreateConfig,public Comparator<Mate
public: public:
Material3DCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const Prim &p):MaterialCreateConfig(da,name,p) Material3DCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const PrimitiveType &p):MaterialCreateConfig(da,name,p)
{ {
rt_output.color=1; //输出一个颜色 rt_output.color=1; //输出一个颜色
rt_output.depth=true; //不输出深度 rt_output.depth=true; //不输出深度

View File

@ -25,11 +25,11 @@ struct MaterialCreateConfig:public Comparator<MaterialCreateConfig>
uint32 shader_stage_flag_bit; ///<需要的shader uint32 shader_stage_flag_bit; ///<需要的shader
Prim prim; ///<图元类型 PrimitiveType prim; ///<图元类型
public: public:
MaterialCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const Prim &p) MaterialCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const PrimitiveType &p)
{ {
dev_attr=da; dev_attr=da;

View File

@ -24,7 +24,7 @@ public:
ShaderCreateInfoGeometry(MaterialDescriptorInfo *m):ShaderCreateInfo(){ShaderCreateInfo::Init(&gsdi,m);} ShaderCreateInfoGeometry(MaterialDescriptorInfo *m):ShaderCreateInfo(){ShaderCreateInfo::Init(&gsdi,m);}
~ShaderCreateInfoGeometry()override=default; ~ShaderCreateInfoGeometry()override=default;
bool SetGeom(const Prim &ip,const Prim &op,const uint32_t mv); bool SetGeom(const PrimitiveType &ip,const PrimitiveType &op,const uint32_t mv);
int AddOutput(SVList &); int AddOutput(SVList &);
int AddOutput(const ShaderVariableType &type,const AnsiString &name,Interpolation inter=Interpolation::Smooth); int AddOutput(const ShaderVariableType &type,const AnsiString &name,Interpolation inter=Interpolation::Smooth);

View File

@ -56,7 +56,7 @@ Pipeline *RenderPass::CreatePipeline(const AnsiString &name,PipelineData *pd,con
return(new Pipeline(name,device,graphicsPipeline,vil,pd)); return(new Pipeline(name,device,graphicsPipeline,vil,pd));
} }
Pipeline *RenderPass::CreatePipeline(Material *mtl,const VIL *vil,const PipelineData *cpd,const Prim &prim,const bool prim_restart) Pipeline *RenderPass::CreatePipeline(Material *mtl,const VIL *vil,const PipelineData *cpd,const PrimitiveType &prim,const bool prim_restart)
{ {
PipelineData *pd=new PipelineData(cpd); PipelineData *pd=new PipelineData(cpd);
@ -70,36 +70,36 @@ Pipeline *RenderPass::CreatePipeline(Material *mtl,const VIL *vil,const Pipeline
return(p); return(p);
} }
Pipeline *RenderPass::CreatePipeline(Material *mtl,const VIL *vil,const InlinePipeline &ip,const Prim &prim,const bool prim_restart) Pipeline *RenderPass::CreatePipeline(Material *mtl,const VIL *vil,const InlinePipeline &ip,const PrimitiveType &prim,const bool prim_restart)
{ {
if(!mtl)return(nullptr); if(!mtl)return(nullptr);
return CreatePipeline(mtl,vil,GetPipelineData(ip),prim,prim_restart); return CreatePipeline(mtl,vil,GetPipelineData(ip),prim,prim_restart);
} }
Pipeline *RenderPass::CreatePipeline(Material *mtl,const PipelineData *pd, const Prim &prim,const bool prim_restart) Pipeline *RenderPass::CreatePipeline(Material *mtl,const PipelineData *pd, const PrimitiveType &prim,const bool prim_restart)
{ {
return CreatePipeline(mtl,mtl->GetDefaultVIL(),pd,prim,prim_restart); return CreatePipeline(mtl,mtl->GetDefaultVIL(),pd,prim,prim_restart);
} }
Pipeline *RenderPass::CreatePipeline(Material *mtl,const InlinePipeline &ip, const Prim &prim,const bool prim_restart) Pipeline *RenderPass::CreatePipeline(Material *mtl,const InlinePipeline &ip, const PrimitiveType &prim,const bool prim_restart)
{ {
return CreatePipeline(mtl,mtl->GetDefaultVIL(),ip,prim,prim_restart); return CreatePipeline(mtl,mtl->GetDefaultVIL(),ip,prim,prim_restart);
} }
Pipeline *RenderPass::CreatePipeline(MaterialInstance *mi,const InlinePipeline &ip,const Prim &prim,const bool prim_restart) Pipeline *RenderPass::CreatePipeline(MaterialInstance *mi,const InlinePipeline &ip,const PrimitiveType &prim,const bool prim_restart)
{ {
if(!mi)return(nullptr); if(!mi)return(nullptr);
return CreatePipeline(mi->GetMaterial(),mi->GetVIL(),ip,prim,prim_restart); return CreatePipeline(mi->GetMaterial(),mi->GetVIL(),ip,prim,prim_restart);
} }
Pipeline *RenderPass::CreatePipeline(MaterialInstance *mi,const PipelineData *cpd,const Prim &prim,const bool prim_restart) Pipeline *RenderPass::CreatePipeline(MaterialInstance *mi,const PipelineData *cpd,const PrimitiveType &prim,const bool prim_restart)
{ {
return CreatePipeline(mi->GetMaterial(),mi->GetVIL(),cpd,prim,prim_restart); return CreatePipeline(mi->GetMaterial(),mi->GetVIL(),cpd,prim,prim_restart);
} }
Pipeline *RenderPass::CreatePipeline(MaterialInstance *mi,const OSString &pipeline_filename,const Prim &prim,const bool prim_restart) Pipeline *RenderPass::CreatePipeline(MaterialInstance *mi,const OSString &pipeline_filename,const PrimitiveType &prim,const bool prim_restart)
{ {
const PipelineData *pd=GetPipelineData(pipeline_filename); const PipelineData *pd=GetPipelineData(pipeline_filename);

View File

@ -62,7 +62,7 @@ void main()
bool CustomGeometryShader(ShaderCreateInfoGeometry *gsc) override bool CustomGeometryShader(ShaderCreateInfoGeometry *gsc) override
{ {
gsc->SetGeom(Prim::Points,Prim::TriangleStrip,4); gsc->SetGeom(PrimitiveType::Points,PrimitiveType::TriangleStrip,4);
gsc->AddOutput(SVT_VEC2,"TexCoord"); gsc->AddOutput(SVT_VEC2,"TexCoord");

View File

@ -69,7 +69,7 @@ void main()
bool CustomGeometryShader(ShaderCreateInfoGeometry *gsc) override bool CustomGeometryShader(ShaderCreateInfoGeometry *gsc) override
{ {
gsc->SetGeom(Prim::Points,Prim::TriangleStrip,4); gsc->SetGeom(PrimitiveType::Points,PrimitiveType::TriangleStrip,4);
gsc->AddOutput(SVT_VEC2,"TexCoord"); gsc->AddOutput(SVT_VEC2,"TexCoord");

View File

@ -12,7 +12,7 @@ bool Std2DMaterial::CustomVertexShader(ShaderCreateInfoVertex *vsc)
vsc->AddInput(cfg->position_format,VAN::Position); vsc->AddInput(cfg->position_format,VAN::Position);
const bool is_rect=(cfg->prim==Prim::SolidRectangles||cfg->prim==Prim::WireRectangles); const bool is_rect=(cfg->prim==PrimitiveType::SolidRectangles||cfg->prim==PrimitiveType::WireRectangles);
if(cfg->local_to_world||cfg->material_instance) if(cfg->local_to_world||cfg->material_instance)
{ {

View File

@ -66,7 +66,7 @@ void main()
bool CustomGeometryShader(ShaderCreateInfoGeometry *gsc) override bool CustomGeometryShader(ShaderCreateInfoGeometry *gsc) override
{ {
gsc->SetGeom(Prim::Points,Prim::TriangleStrip,4); gsc->SetGeom(PrimitiveType::Points,PrimitiveType::TriangleStrip,4);
gsc->AddOutput(SVT_VEC2,"TexCoord"); gsc->AddOutput(SVT_VEC2,"TexCoord");

View File

@ -67,7 +67,7 @@ void main()
bool CustomGeometryShader(ShaderCreateInfoGeometry *gsc) override bool CustomGeometryShader(ShaderCreateInfoGeometry *gsc) override
{ {
gsc->SetGeom(Prim::Points,Prim::TriangleStrip,4); gsc->SetGeom(PrimitiveType::Points,PrimitiveType::TriangleStrip,4);
gsc->AddOutput(SVT_VEC2,"TexCoord"); gsc->AddOutput(SVT_VEC2,"TexCoord");

View File

@ -86,8 +86,8 @@ namespace material_file
struct GeometryShaderData:public ShaderData struct GeometryShaderData:public ShaderData
{ {
Prim input_prim; PrimitiveType input_prim;
Prim output_prim; PrimitiveType output_prim;
uint max_vertices=0; uint max_vertices=0;
SVList output; SVList output;

View File

@ -572,7 +572,7 @@ namespace
while(hgl::isalpha(*text)||*text=='_')++text; while(hgl::isalpha(*text)||*text=='_')++text;
const Prim ip=ParsePrimName(sp,text-sp); const PrimitiveType ip=ParsePrimitiveType(sp,text-sp);
if(!CheckGeometryShaderIn(ip)) if(!CheckGeometryShaderIn(ip))
return(false); return(false);
@ -591,7 +591,7 @@ namespace
while(hgl::isalpha(*text)||*text=='_')++text; while(hgl::isalpha(*text)||*text=='_')++text;
const Prim op=ParsePrimName(sp,text-sp); const PrimitiveType op=ParsePrimitiveType(sp,text-sp);
if(!CheckGeometryShaderOut(op)) if(!CheckGeometryShaderOut(op))
return(false); return(false);

View File

@ -5,7 +5,7 @@ namespace hgl
{ {
namespace graph namespace graph
{ {
bool ShaderCreateInfoGeometry::SetGeom(const Prim &ip,const Prim &op,const uint32_t mv) bool ShaderCreateInfoGeometry::SetGeom(const PrimitiveType &ip,const PrimitiveType &op,const uint32_t mv)
{ {
if(!CheckGeometryShaderIn(ip))return(false); if(!CheckGeometryShaderIn(ip))return(false);
if(!CheckGeometryShaderOut(op))return(false); if(!CheckGeometryShaderOut(op))return(false);