In C++11 we have raw string literals, I think it would be better to use them in shader factory. You don't need to put quotes and the newline character at every line. Example:
const char * mystr = R"ESCAPE_SEQUENCE(
This string has every
newline and spacing
in it.
)ESCAPE_SEQUENCE";
Note, that an escape sequence is not required, this is also just fine:
R"( ... )";
In C++11 we have raw string literals, I think it would be better to use them in shader factory. You don't need to put quotes and the newline character at every line. Example: const char * mystr = R"ESCAPE_SEQUENCE( This string has every newline and spacing in it. )ESCAPE_SEQUENCE";
Note, that an escape sequence is not required, this is also just fine: R"( ... )";