1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-25 21:27:45 +00:00

Don't hardcode scene keys in PASS_COMPOSITE_SEMITRANSPARENCY pass

This allows stuff to render again! But it's still broken of course...
This commit is contained in:
Joshua Goins 2024-11-02 22:05:01 -04:00
parent 0d593ba3a6
commit 8535fec7aa

View file

@ -540,32 +540,25 @@ void GameRenderer::render(VkCommandBuffer commandBuffer, Camera &camera, Scene &
if (renderMaterial.type == MaterialType::Skin && !m_dawntrailMode) { if (renderMaterial.type == MaterialType::Skin && !m_dawntrailMode) {
systemKeys.push_back(physis_shpk_crc("DecodeDepthBuffer_RAWZ")); systemKeys.push_back(physis_shpk_crc("DecodeDepthBuffer_RAWZ"));
} }
std::vector<uint32_t> sceneKeys; std::vector<uint32_t> sceneKeys;
if (m_dawntrailMode) { for (int j = 0; j < renderMaterial.shaderPackage.num_scene_keys; j++) {
sceneKeys.push_back(physis_shpk_crc("ApplyDitherClipOff")); auto id = renderMaterial.shaderPackage.scene_keys[j].id;
sceneKeys.push_back(physis_shpk_crc("ApplyDissolveColorOff"));
sceneKeys.push_back(physis_shpk_crc("GetCustumizeColorAuraOff"));
if (model.skinned) { bool found = false;
sceneKeys.push_back(physis_shpk_crc("TransformViewSkin")); if (id == physis_shpk_crc("TransformView")) {
} else { if (model.skinned) {
sceneKeys.push_back(physis_shpk_crc("TransformViewRigid")); sceneKeys.push_back(physis_shpk_crc("TransformViewSkin"));
} else {
sceneKeys.push_back(physis_shpk_crc("TransformViewRigid"));
}
found = true;
} }
sceneKeys.push_back(physis_shpk_crc("ApplyVertexMovementOff")); // Fall back to default if needed
sceneKeys.push_back(physis_shpk_crc("CalculateInstancingPosition_Off")); if (!found) {
sceneKeys.push_back(renderMaterial.shaderPackage.scene_keys[j].default_value);
} else {
if (model.skinned) {
sceneKeys.push_back(physis_shpk_crc("TransformViewSkin"));
} else {
sceneKeys.push_back(physis_shpk_crc("TransformViewRigid"));
} }
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<uint32_t> materialKeys; std::vector<uint32_t> materialKeys;