void MainWindow::applyMaterial() { ui->logPanel->clear(); Ogre::GpuProgramPtr vProgram; Ogre::GpuProgramPtr fProgram; if (!ui->VP->getShaderName().isEmpty()) { vProgram = Ogre::GpuProgramManager::getSingleton().getByName(ui->VP->getShaderName().toStdString()); Ogre::LogManager::getSingleton().logMessage(vProgram->getName()); vProgram->setSource(ui->VP->text().toStdString()); vProgram->reload(); } if (!ui->FP->getShaderName().isEmpty()) { fProgram = Ogre::GpuProgramManager::getSingleton().getByName(ui->FP->getShaderName().toStdString()); fProgram->setSource(ui->FP->text().toStdString()); fProgram->reload(); } QString mat = this->removeWhiteSpaceCharacters(); if (mat.isEmpty()) { return ; } ui->OgreWidget->setMaterial(mat.toStdString(), currMatName.toStdString()); }