VulkanAppFramework增加SetClearColor函数,并产生对应功能。

This commit is contained in:
2020-10-18 19:12:00 +08:00
parent 217f712ca5
commit 4822c9ce53
3 changed files with 16 additions and 3 deletions

2
CMCore

Submodule CMCore updated: 1f1d1b8035...74d603fd23

View File

@@ -140,7 +140,7 @@ public:
rect.material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/Texture2D"));
if(!rect.material_instance)return(false);
rect.pipeline=CreatePipeline(rect.material_instance,vulkan::InlinePipeline::Solid2D);
rect.pipeline=CreatePipeline(rect.material_instance,vulkan::InlinePipeline::Alpha2D);
if(!rect.pipeline)return(false);
rect.sampler=db->CreateSampler();
@@ -170,6 +170,8 @@ public:
if(!VulkanApplicationFramework::Init(SCREEN_WIDTH,SCREEN_HEIGHT))
return(false);
SetClearColor(COLOR::MozillaCharcoal);
if(!InitOffscreen())
return(false);

View File

@@ -55,6 +55,8 @@ protected:
vulkan::CommandBuffer ** cmd_buf =nullptr;
Color4f clear_color;
protected:
vulkan::Database * db =nullptr;
@@ -77,6 +79,8 @@ public:
{
hgl_zero(key_status);
clear_color.Zero();
#ifdef _DEBUG
if(!vulkan::CheckStrideBytesByFormat())
return(false);
@@ -187,6 +191,11 @@ public:
cb->End();
}
void SetClearColor(COLOR cc)
{
clear_color.Use(cc,1.0);
}
void BuildCommandBuffer(uint32_t index,vulkan::RenderableInstance *ri)
{
if(!ri)
@@ -196,6 +205,8 @@ public:
vulkan::CommandBuffer *cb=cmd_buf[index];
cb->SetClearColor(0,clear_color.r,clear_color.g,clear_color.b);
cb->Begin();
cb->BindFramebuffer(sc_render_target->GetRenderPass(),sc_render_target->GetFramebuffer(index));
cb->BindPipeline(ri->GetPipeline());