Is it possible you have invalid characters in the file? Depending on the editor an invalid character can easily slip with a copy'n'paste or accidental hotkey. A lot of editors will then pick a suitable encoding to encode the undesired character and it will often be invisble to the naked eye then.
Have you tried explicitely forcing ANSI encoding on the file (for example in Notepad++ Encoding->Convert to ANSI)? If the problem is a rogue character it will usually show up in an obvious way (the not-in-font symbol or 'weird' symbols).
After setting the stream to the end of the file and calling ::ftell(), you never set the stream back to the beginning of the file before you try to read it.
On the vertex shader.
L. Spiro
[EDIT]
I stopped reading as soon as I saw the problem. Even if it was just one last post with a single sentence explaining the solution.
[/EDIT]
I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid
Even if the problem has been found, it isn't a good idea to read a text file as binary because on some systems (Windows), end of lines are in the form of \r\n or was it \n\r.
It is better to open the file this way
FILE *fp = fopen("MaddEngine.frag", "r"); //changed the "rb" to "r"
and the library will automatically convert all the \r\n to \n (newlines).
and it is a good idea to NULL terminate the file string yourself.
Sig: http://glhlib.sourceforge.net an open source GLU replacement library. Much more modern than GLU.
float matrix[16], inverse_matrix[16];
glhLoadIdentityf2(matrix);
glhTranslatef2(matrix, 0.0, 0.0, 5.0);
glhRotateAboutXf2(matrix, angleInRadians);
glhScalef2(matrix, 1.0, 1.0, -1.0);
glhQuickInvertMatrixf2(matrix, inverse_matrix);
glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);