diff --git a/samples/03_model_render/model_render.cpp b/samples/03_model_render/model_render.cpp index dd26d96..230cf4c 100644 --- a/samples/03_model_render/model_render.cpp +++ b/samples/03_model_render/model_render.cpp @@ -298,12 +298,15 @@ main(int, char **) for (auto &prim : model.m_MeshPrimitives) { - cmd.pushConstants(pipeline.m_Layout, vk::ShaderStageFlagBits::eAll, pcbOffset, sizeof prim.m_MaterialIdx, + u32 innerPcbOffset = pcbOffset; + cmd.pushConstants(pipeline.m_Layout, vk::ShaderStageFlagBits::eAll, innerPcbOffset, + sizeof prim.m_MaterialIdx, &prim.m_MaterialIdx); - pcbOffset += sizeof prim.m_MaterialIdx; - cmd.pushConstants(pipeline.m_Layout, vk::ShaderStageFlagBits::eAll, pcbOffset, sizeof prim.m_TransformIdx, + innerPcbOffset += sizeof prim.m_MaterialIdx; + cmd.pushConstants(pipeline.m_Layout, vk::ShaderStageFlagBits::eAll, innerPcbOffset, + sizeof prim.m_TransformIdx, &prim.m_TransformIdx); - pcbOffset += sizeof prim.m_TransformIdx; + innerPcbOffset += sizeof prim.m_TransformIdx; cmd.drawIndexed(prim.m_IndexCount, 1, prim.m_FirstIndex, Cast(prim.m_VertexOffset), 0); }