new MaterialInstance

This commit is contained in:
2021-06-16 20:29:25 +08:00
parent cbbc0641ef
commit 53c58a885e
21 changed files with 196 additions and 142 deletions

View File

@@ -33,7 +33,7 @@ private:
Camera cam;
MaterialParameters * material_instance =nullptr;
MaterialInstance * material_instance =nullptr;
RenderableInstance *render_instance =nullptr;
GPUBuffer * ubo_camera_info =nullptr;
@@ -69,9 +69,16 @@ private:
if(!ubo_camera_info)
return(false);
material_instance->BindUBO("camera",ubo_camera_info);
material_instance->Update();
{
MaterialParameters *mp_global=material_instance->GetMP(DescriptorSetsType::Global);
if(!mp_global)
return(false);
mp_global->BindUBO("g_camera",ubo_camera_info);
mp_global->Update();
}
return(true);
}

View File

@@ -16,6 +16,7 @@
#include<hgl/graph/VKFramebuffer.h>
#include<hgl/graph/VKMaterial.h>
#include<hgl/graph/VKMaterialParameters.h>
#include<hgl/graph/VKMaterialInstance.h>
#include<hgl/graph/VKRenderTarget.h>
#include<hgl/graph/VKRenderResource.h>
#include<hgl/graph/RenderList.h>
@@ -184,7 +185,7 @@ public:
cb->SetClearColor(0,clear_color.r,clear_color.g,clear_color.b);
cb->BeginRenderPass();
cb->BindPipeline(ri->GetPipeline());
cb->BindDescriptorSets(ri->GetMIDescSets());
cb->BindDescriptorSets(ri);
cb->BindVAB(ri);
if (ib)