void VRMaterial::appendPasses(VRMaterialPtr mat) { for (int i=0; i<mat->getNPasses(); i++) { VRMatData* md = mat->mats[i]->copy(); passes->addMaterial(md->mat); mats.push_back(md); } }
void VRMaterial::prependPasses(VRMaterialPtr mat) { vector<VRMatData*> pses; for (int i=0; i<mat->getNPasses(); i++) pses.push_back( mat->mats[i]->copy() ); for (int i=0; i<getNPasses(); i++) pses.push_back(mats[i]); passes->clearMaterials(); mats.clear(); for (auto md : pses) { passes->addMaterial(md->mat); mats.push_back(md); } }