I think ultimately he is wearing glasses to hide the pain in his eyes from his family!
He took the glasses off in his room to look at the picture - doesn't really matter whose picture, the point is he was alone in his room and he took the shades off.
Another time he took the shades off was in front of Neha. Who is not his family and he doesn't need to hide his pain from her... As per the spoiler, Neha is supposed to be his best friend. So I think he must have confided in Neha about him and Mishti. That's the reason he took glasses off in front of her..
And Today's Abir weds Neha was just to cause confusion in viewers mind... K fell out from Kabir at RV house in today's episode and it looked like Abir weds Neha.
Anyways what I am trying to say is Abir just wears shades to hide his pain from the family. I wish the family knows soon, so the shades come off as I really do not like them...