I think I've got it - halfway.

I must not turn my model!!!111

A matter to discuss:
Aren't vec_for_normal and vec_for_vertex supposed to give the world vector?
Means, the result should be independent of the model's angle, shouldn't it?