#include "shadersource.h" #include #include #include "shader.h" #include ShaderSource::ShaderSource() { for(int i=0; i 0 && line.at(0) == '#') { if(line.compare(0, 8, "#version") == 0) compiled.append(line+'\n'); else if(line.compare(0, 7, "#ifdef ") == 0) allowed = isDefined(line.substr(7), nbDefines, defines); else if(line.compare(0, 8, "#ifndef ") == 0) allowed = !isDefined(line.substr(8), nbDefines, defines); else if(line.compare("#endif") == 0) allowed = true; else if(line.compare("#else") == 0) allowed = !allowed; } else if(allowed) compiled.append(line+'\n'); } std::cout << compiled << std::endl; return compiled; }