VulkanApplicationFramework add CreatePipeline functions override.
This commit is contained in:
parent
ff23d91352
commit
303c715078
@ -1 +1 @@
|
||||
Subproject commit 74e1d564be1a9c2af21b3fc2e4ca319e23b6616a
|
||||
Subproject commit 1e14c1b01dd9b1e6590110cdf5fb239da30d00c1
|
@ -51,8 +51,9 @@ private:
|
||||
{
|
||||
material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/Atmosphere")); //不需要优先创建Material,也不需要写扩展名
|
||||
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);
|
||||
|
||||
return(true);
|
||||
|
@ -32,11 +32,11 @@ private:
|
||||
vulkan::Material * material =nullptr;
|
||||
vulkan::MaterialInstance * material_instance =nullptr;
|
||||
vulkan::Renderable * render_obj =nullptr;
|
||||
vulkan::Buffer * ubo_world_matrix =nullptr;
|
||||
vulkan::Buffer * ubo_world_matrix =nullptr;
|
||||
|
||||
vulkan::Pipeline * pipeline =nullptr;
|
||||
|
||||
vulkan::VAB * vertex_buffer =nullptr;
|
||||
vulkan::VAB * vertex_buffer =nullptr;
|
||||
|
||||
public:
|
||||
|
||||
|
@ -266,6 +266,18 @@ public:
|
||||
|
||||
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 CameraAppFramework:public VulkanApplicationFramework
|
||||
|
@ -57,8 +57,12 @@ private:
|
||||
|
||||
if(!material_instance)
|
||||
return(false);
|
||||
|
||||
// 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
|
||||
|
||||
render_obj=db->CreateRenderable(material_instance,VERTEX_COUNT);
|
||||
if(!pipeline)
|
||||
return(false);
|
||||
|
||||
return(true);
|
||||
}
|
||||
@ -84,6 +88,9 @@ private:
|
||||
|
||||
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);
|
||||
color_buffer =device->CreateVAB(FMT_RGB32F, VERTEX_COUNT,color_data);
|
||||
|
||||
@ -93,13 +100,6 @@ private:
|
||||
return(true);
|
||||
}
|
||||
|
||||
bool InitPipeline()
|
||||
{
|
||||
pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
|
||||
|
||||
return pipeline;
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
bool Init()
|
||||
@ -116,9 +116,6 @@ public:
|
||||
if(!InitVBO())
|
||||
return(false);
|
||||
|
||||
if(!InitPipeline())
|
||||
return(false);
|
||||
|
||||
BuildCommandBuffer(pipeline,material_instance,render_obj);
|
||||
|
||||
return(true);
|
||||
|
Loading…
x
Reference in New Issue
Block a user