glGetUniformLocation assumes exposure is uniform 0.  Using glGetUniformLocation() instead to have the correct number and storing it in a member value for re-use.