diff --git a/game/graphics/objectsbucket.cpp b/game/graphics/objectsbucket.cpp index ec55fb4d1..84694b38f 100644 --- a/game/graphics/objectsbucket.cpp +++ b/game/graphics/objectsbucket.cpp @@ -385,7 +385,8 @@ void ObjectsBucket::drawShadow(Encoder& cmd, uint8_t fId, int lay void ObjectsBucket::drawCommon(Encoder& cmd, uint8_t fId, const RenderPipeline& shader, SceneGlobals::VisCamera c) { UboPush pushBlock = {}; - bool sharedSet = false; + bool sharedSet = false; + bool sharedPush = false; size_t pushSz = (morphAnim!=nullptr) ? sizeof(pushBlock) : sizeof(Tempest::Matrix4x4); if(shaderType==Pfx) @@ -403,6 +404,12 @@ void ObjectsBucket::drawCommon(Encoder& cmd, uint8_t fId, uboSetDynamic(v,fId); cmd.setUniforms(shader, v.ubo.ubo[fId][c], &pushBlock, pushSz); } + else if(shaderType==Landscape) { + if(!sharedPush) { + sharedPush = true; + cmd.setUniforms(shader, uboShared.ubo[fId][c], &pushBlock, pushSz); + } + } else if(!sharedSet) { sharedSet = true; cmd.setUniforms(shader, uboShared.ubo[fId][c], &pushBlock, pushSz);