VulkanApplicationFramework add CreatePipeline functions override.
This commit is contained in:
parent
ff23d91352
commit
303c715078
@ -1 +1 @@
|
|||||||
Subproject commit 74e1d564be1a9c2af21b3fc2e4ca319e23b6616a
|
Subproject commit 1e14c1b01dd9b1e6590110cdf5fb239da30d00c1
|
@ -52,7 +52,8 @@ private:
|
|||||||
material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/Atmosphere")); //不需要优先创建Material,也不需要写扩展名
|
material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/Atmosphere")); //不需要优先创建Material,也不需要写扩展名
|
||||||
if(!material_instance)return(false);
|
if(!material_instance)return(false);
|
||||||
|
|
||||||
pipeline_solid=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/sky"));
|
// pipeline_solid=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/sky"));
|
||||||
|
pipeline_solid=CreatePipeline(material_instance,OS_TEXT("res/pipeline/sky")); //等同上一行,为Framework重载,默认使用swapchain的render target
|
||||||
if(!pipeline_solid)return(false);
|
if(!pipeline_solid)return(false);
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
|
@ -266,6 +266,18 @@ public:
|
|||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
vulkan::Pipeline *CreatePipeline(vulkan::Material *mtl,const OSString &pipeline_name)
|
||||||
|
{
|
||||||
|
return db->CreatePipeline(mtl,sc_render_target,pipeline_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
vulkan::Pipeline *CreatePipeline(vulkan::MaterialInstance *mi,const OSString &pipeline_name)
|
||||||
|
{
|
||||||
|
return db->CreatePipeline(mi,sc_render_target,pipeline_name);
|
||||||
|
}
|
||||||
};//class VulkanApplicationFramework
|
};//class VulkanApplicationFramework
|
||||||
|
|
||||||
class CameraAppFramework:public VulkanApplicationFramework
|
class CameraAppFramework:public VulkanApplicationFramework
|
||||||
|
@ -58,7 +58,11 @@ private:
|
|||||||
if(!material_instance)
|
if(!material_instance)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
render_obj=db->CreateRenderable(material_instance,VERTEX_COUNT);
|
// pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
|
||||||
|
pipeline=CreatePipeline(material_instance,OS_TEXT("res/pipeline/solid2d")); //等同上一行,为Framework重载,默认使用swapchain的render target
|
||||||
|
|
||||||
|
if(!pipeline)
|
||||||
|
return(false);
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
@ -84,6 +88,9 @@ private:
|
|||||||
|
|
||||||
bool InitVBO()
|
bool InitVBO()
|
||||||
{
|
{
|
||||||
|
render_obj =db->CreateRenderable(material_instance,VERTEX_COUNT);
|
||||||
|
if(!render_obj)return(false);
|
||||||
|
|
||||||
vertex_buffer =device->CreateVAB(FMT_RG32F, VERTEX_COUNT,vertex_data);
|
vertex_buffer =device->CreateVAB(FMT_RG32F, VERTEX_COUNT,vertex_data);
|
||||||
color_buffer =device->CreateVAB(FMT_RGB32F, VERTEX_COUNT,color_data);
|
color_buffer =device->CreateVAB(FMT_RGB32F, VERTEX_COUNT,color_data);
|
||||||
|
|
||||||
@ -93,13 +100,6 @@ private:
|
|||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InitPipeline()
|
|
||||||
{
|
|
||||||
pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
|
|
||||||
|
|
||||||
return pipeline;
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
bool Init()
|
bool Init()
|
||||||
@ -116,9 +116,6 @@ public:
|
|||||||
if(!InitVBO())
|
if(!InitVBO())
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
if(!InitPipeline())
|
|
||||||
return(false);
|
|
||||||
|
|
||||||
BuildCommandBuffer(pipeline,material_instance,render_obj);
|
BuildCommandBuffer(pipeline,material_instance,render_obj);
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user