add CreatePipeline functions at RenderTarget,remove other they at other places.

This commit is contained in:
2020-10-27 18:11:39 +08:00
parent 341acc92e1
commit d0fd9af309
11 changed files with 180 additions and 187 deletions

View File

@@ -6,6 +6,7 @@
#include<hgl/graph/VKFramebuffer.h>
#include<hgl/graph/VKSwapchain.h>
#include<hgl/graph/VKQueue.h>
#include<hgl/graph/VKPipeline.h>
VK_NAMESPACE_BEGIN
/**
* 渲染目标
@@ -28,6 +29,10 @@ protected:
Texture2D **color_textures;
Texture2D *depth_texture;
protected:
ObjectList<Pipeline> pipeline_list;
protected:
friend class GPUDevice;
@@ -47,6 +52,15 @@ public:
virtual Texture2D * GetColorTexture (const int index=0){return color_textures[index];}
virtual Texture2D * GetDepthTexture (){return depth_texture;}
public:
Pipeline *CreatePipeline(Material *, const InlinePipeline &, const Prim &prim=Prim::Triangles,const bool prim_restart=false);
Pipeline *CreatePipeline(MaterialInstance *, const InlinePipeline &, const Prim &prim=Prim::Triangles,const bool prim_restart=false);
Pipeline *CreatePipeline(Material *, PipelineData *, const Prim &prim=Prim::Triangles,const bool prim_restart=false);
Pipeline *CreatePipeline(MaterialInstance *, PipelineData *, const Prim &prim=Prim::Triangles,const bool prim_restart=false);
Pipeline *CreatePipeline(Material *, const OSString &, const Prim &prim=Prim::Triangles,const bool prim_restart=false);
Pipeline *CreatePipeline(MaterialInstance *, const OSString &, const Prim &prim=Prim::Triangles,const bool prim_restart=false);
public:
GPUSemaphore * GetRenderCompleteSemaphore (){return render_complete_semaphore;}