std::string MainWindow::shaderSource(RFile &f, const std::initializer_list<const char *> &def) { std::string s; s.resize( f.size() ); f.readData( &s[0], s.size() ); std::stringstream ss; for( auto i:def ) ss <<"#define "<< i << "\n"; ss << s; return ss.str(); }