Don't make a vec3(0.5) there, just scale the normal