std::vector<DrawDescriptor> draw_order;
- int count = 0;
- int low_bound = is_transparent_pass ? 0 : m_drawlist_shadow.size() / total_frames * frame;
- int high_bound = is_transparent_pass ? m_drawlist_shadow.size() : m_drawlist_shadow.size() / total_frames * (frame + 1);
+ std::size_t count = 0;
+ std::size_t meshes_per_frame = m_drawlist_shadow.size() / total_frames + 1;
+ std::size_t low_bound = is_transparent_pass ? 0 : meshes_per_frame * frame;
+ std::size_t high_bound = is_transparent_pass ? m_drawlist_shadow.size() : meshes_per_frame * (frame + 1);
// transparent pass should be rendered in one go
if (is_transparent_pass && frame != total_frames - 1) {