refactoring of the shader output variable names
added the possibility to get shaders from the file and reload the shaders when the file changes