"..so what can I do? is it too late to change that now? What direction should I go?"
You are correct about not being able to change him. In the event that he has a personality disorder of sorts, these sort of disorders are not per se curable. Someone who has even the traits of such a disorder (narcissistic, obsessive compulsive personality disorder, etc) can manage their behavior only if they chose to. In his case, from what you've shared and the pattern of his behavior thus far, past behavior is a decent predictor of future behavior. Besides him not wanting to change (or even engage in some sort of self introspection and see how his behavior affects others), it may be a case where this behavior is all he knows (meaning what you see is what you get; he's not depriving others of the better side of himself because that side is either minimal or non existent)
If you look back, there must of been something that had attracted you to him in the past. If you believe that this part of him is still there, you can try to access it (talk about him how things were at one point, ask him where does he think all of these things had gone/what had caused that, etc) Of course, he has to be open to talk to you. All you're trying to do is see it from his point of view (what makes him unhappy if he knows what that is, what angers him, does he have any hopes/dreams and so on) He does not sound like a happy person. Someone who is angry most of the time must feel miserable deep down inside. You may want to think about connecting with others in similar situations and see what they've got to say. There are some free online support groups and you can do it anonymously.
You already realize that you cannot change him and that he has to want to change. Then, you've got to think about how you would want to live your life hence forth.
The Emotionally Unavailable Man: A Blueprint for Healing