From 8535fec7aa28ed6cfaaecb8ec5162c8332701b71 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sat, 2 Nov 2024 22:05:01 -0400 Subject: [PATCH] Don't hardcode scene keys in PASS_COMPOSITE_SEMITRANSPARENCY pass This allows stuff to render again! But it's still broken of course... --- renderer/src/gamerenderer.cpp | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/renderer/src/gamerenderer.cpp b/renderer/src/gamerenderer.cpp index 85dbeb6..1778bb4 100644 --- a/renderer/src/gamerenderer.cpp +++ b/renderer/src/gamerenderer.cpp @@ -540,32 +540,25 @@ void GameRenderer::render(VkCommandBuffer commandBuffer, Camera &camera, Scene & if (renderMaterial.type == MaterialType::Skin && !m_dawntrailMode) { systemKeys.push_back(physis_shpk_crc("DecodeDepthBuffer_RAWZ")); } + std::vector sceneKeys; - if (m_dawntrailMode) { - sceneKeys.push_back(physis_shpk_crc("ApplyDitherClipOff")); - sceneKeys.push_back(physis_shpk_crc("ApplyDissolveColorOff")); - sceneKeys.push_back(physis_shpk_crc("GetCustumizeColorAuraOff")); + for (int j = 0; j < renderMaterial.shaderPackage.num_scene_keys; j++) { + auto id = renderMaterial.shaderPackage.scene_keys[j].id; - if (model.skinned) { - sceneKeys.push_back(physis_shpk_crc("TransformViewSkin")); - } else { - sceneKeys.push_back(physis_shpk_crc("TransformViewRigid")); + bool found = false; + if (id == physis_shpk_crc("TransformView")) { + if (model.skinned) { + sceneKeys.push_back(physis_shpk_crc("TransformViewSkin")); + } else { + sceneKeys.push_back(physis_shpk_crc("TransformViewRigid")); + } + found = true; } - sceneKeys.push_back(physis_shpk_crc("ApplyVertexMovementOff")); - sceneKeys.push_back(physis_shpk_crc("CalculateInstancingPosition_Off")); - - } else { - if (model.skinned) { - sceneKeys.push_back(physis_shpk_crc("TransformViewSkin")); - } else { - sceneKeys.push_back(physis_shpk_crc("TransformViewRigid")); + // Fall back to default if needed + if (!found) { + sceneKeys.push_back(renderMaterial.shaderPackage.scene_keys[j].default_value); } - - sceneKeys.push_back(physis_shpk_crc("GetAmbientLight_SH")); - sceneKeys.push_back(physis_shpk_crc("GetReflectColor_Texture")); - sceneKeys.push_back(physis_shpk_crc("GetAmbientOcclusion_None")); - sceneKeys.push_back(physis_shpk_crc("ApplyDitherClipOff")); } std::vector materialKeys;