From ca1bb80b5f6c2aabcd028c5b6755db090318cb8c Mon Sep 17 00:00:00 2001 From: "HuYingzhuo(hugo/hyzboy)" Date: Tue, 26 Sep 2023 21:57:03 +0800 Subject: [PATCH] updated M_RectTexture2DArray.cpp --- CMSceneGraph | 2 +- src/ShaderGen/2d/M_RectTexture2DArray.cpp | 23 ++--------------------- src/ShaderGen/MaterialCreateInfo.cpp | 2 +- src/ShaderGen/common/MFCommon.h | 2 ++ 4 files changed, 6 insertions(+), 23 deletions(-) diff --git a/CMSceneGraph b/CMSceneGraph index 5a6f171f..76db378d 160000 --- a/CMSceneGraph +++ b/CMSceneGraph @@ -1 +1 @@ -Subproject commit 5a6f171f90dbd1001e5fc6c696fecc54c57cb1a2 +Subproject commit 76db378dd4d992e40ecf05cc5a959ac381f426e6 diff --git a/src/ShaderGen/2d/M_RectTexture2DArray.cpp b/src/ShaderGen/2d/M_RectTexture2DArray.cpp index 1bc6def7..f82bcdb1 100644 --- a/src/ShaderGen/2d/M_RectTexture2DArray.cpp +++ b/src/ShaderGen/2d/M_RectTexture2DArray.cpp @@ -55,27 +55,8 @@ void main() bool CustomVertexShader(ShaderCreateInfoVertex *vsc) override { - RANGE_CHECK_RETURN_FALSE(cfg->coordinate_system) - - vsc->AddInput(VAT_VEC4,VAN::Position); - - if(cfg->local_to_world) - { - mci->SetLocalToWorld(VK_SHADER_STAGE_ALL_GRAPHICS); - - vsc->AddAssign(); - - vsc->AddFunction(func::GetPosition2DRectL2W[size_t(cfg->coordinate_system)]); - } - else - vsc->AddFunction(func::GetPosition2DRect[size_t(cfg->coordinate_system)]); - - if(cfg->coordinate_system==CoordinateSystem2D::Ortho) - { - mci->AddUBO(VK_SHADER_STAGE_VERTEX_BIT, - DescriptorSetType::Global, - SBS_ViewportInfo); - } + if(!Std2DMaterial::CustomVertexShader(vsc)) + return(false); vsc->AddInput(VAT_VEC4,VAN::TexCoord); diff --git a/src/ShaderGen/MaterialCreateInfo.cpp b/src/ShaderGen/MaterialCreateInfo.cpp index 9b1a0ed0..8cb2af1b 100644 --- a/src/ShaderGen/MaterialCreateInfo.cpp +++ b/src/ShaderGen/MaterialCreateInfo.cpp @@ -238,7 +238,7 @@ bool MaterialCreateInfo::CreateShader() if(sc->GetShaderStage()AddOutput(VAT_UINT,VAN::MaterialInstanceID,Interpolation::Flat); + sc->AddOutput(VAT_UINT,mtl::func::MaterialInstanceID,Interpolation::Flat); if(sc->GetShaderStage()==VK_SHADER_STAGE_VERTEX_BIT) sc->AddFunction(mtl::func::HandoverMI_VS); diff --git a/src/ShaderGen/common/MFCommon.h b/src/ShaderGen/common/MFCommon.h index 66f1a8c3..7657a289 100644 --- a/src/ShaderGen/common/MFCommon.h +++ b/src/ShaderGen/common/MFCommon.h @@ -14,6 +14,8 @@ mat4 GetLocalToWorld() } )"; + constexpr const char MaterialInstanceID[]="MaterialInstanceID"; + constexpr const char HandoverMI_VS[]=R"( void HandoverMI() {