void State::pushMaterial(MaterialPtr m) { if (!m_materials.isEmpty() && m_materials.back()) m_materials.back()->unbind(); m_materials.push_back(m); m_usedMaterials << m; push(); if (m) m->bind(*this); }