split RenderCommand/TextureCommand from GPUCmdBuffer

This commit is contained in:
2020-10-28 12:30:44 +08:00
parent 672a14e656
commit 2e05e06b3f
18 changed files with 127 additions and 166 deletions

View File

@@ -1,5 +1,5 @@
macro(CreateProject name)
add_executable(${name} ${ARGN})
add_executable(${name} ${ARGN} ${VULKAN_APP_FRAMEWORK})
target_link_libraries(${name} ${ULRE})
IF(WIN32)

View File

@@ -53,7 +53,7 @@ private:
struct
{
RenderTarget *rt;
GPUCmdBuffer *cmd;
RenderCommand *cmd;
public:
@@ -116,7 +116,7 @@ private:
if(!gbuffer.rt)return(false);
gbuffer.cmd=device->CreateCommandBuffer(size_t(GBufferAttachment::RANGE_SIZE)+1);
gbuffer.cmd=device->CreateRenderCommandBuffer();
return(gbuffer.rt);
}
@@ -298,7 +298,10 @@ private:
if(!gbuffer.cmd->BindFramebuffer(gbuffer.rt->GetRenderPass(),gbuffer.rt->GetFramebuffer()))
return(false);
render_list.Render(gbuffer.cmd);
if(!gbuffer.cmd->BeginRenderpass())
return(false);
render_list.Render(gbuffer.cmd);
gbuffer.cmd->EndRenderPass();
gbuffer.cmd->End();

View File

@@ -66,19 +66,6 @@ private:
render_root.Add(ri,mat);
}
bool InitScene()
{
Add(ro_round_rectangle,m2d);
Add(ro_plane_grid[0],m3d);
Add(ro_plane_grid[1],m3d,rotate(HGL_RAD_90,0,1,0));
Add(ro_plane_grid[2],m3d,rotate(HGL_RAD_90,1,0,0));
render_root.RefreshMatrix();
render_root.ExpendToList(&render_list);
return(true);
}
void CreateRenderObject()
{
struct PlaneGridCreateInfo pgci;
@@ -121,6 +108,19 @@ private:
camera.eye.Set(200,200,200,1.0);
}
bool InitScene()
{
Add(ro_round_rectangle,m2d);
Add(ro_plane_grid[0],m3d);
Add(ro_plane_grid[1],m3d,rotate(HGL_RAD_90,0,1,0));
Add(ro_plane_grid[2],m3d,rotate(HGL_RAD_90,1,0,0));
render_root.RefreshMatrix();
render_root.ExpendToList(&render_list);
return(true);
}
public:
bool Init()

View File

@@ -22,7 +22,7 @@ class TestApp:public CameraAppFramework
struct:public RenderObject
{
RenderTarget * render_taget =nullptr;
GPUCmdBuffer * command_buffer =nullptr;
RenderCommand * command_buffer =nullptr;
Pipeline * pipeline =nullptr;
RenderableInstance *renderable_instance =nullptr;
@@ -82,7 +82,7 @@ public:
os.render_taget=device->CreateRenderTarget(&fbi);
if(!os.render_taget)return(false);
os.command_buffer=device->CreateCommandBuffer(fbi.GetAttachmentCount());
os.command_buffer=device->CreateRenderCommandBuffer();
if(!os.command_buffer)return(false);
os.material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/VertexColor2D"));