Nothing wrong with glasses, I only use contacts when I go to a club (mainly because it's annoying to get beer on the glasses, or they can get foggy) and can still attract girls. But you have to get a different frame, one that is more stylish.
Also change your clothes, stop wearing t-shirts, full stop. Get some buttoned shirts and for on top of that a blazer or pull-over if it's cold (no hoodies or college sweaters please...). If it is really hot out, I don't know where you live, I personally still prefer shirts with the arms rolled up a bit (even though I have no problem wearing just a long sleeve either with 5 or 30 degree celsius). If you want short sleeve at all cost, get polo's. It depends what fits on you, but I personally like La Martina, but la coste could also work for you.
Last thing, consider your shoes and coat. I don't know where you are from, but a lot of Americans go wrong there. Never, ever, wear tennis/running shoes. If you want to wear sneakers get puma speedcats, or preferably ones that look like more stylish shoes and are partially made out of leather (Clark, Levi's, Hugo Boss all make them). Apart from that, a pair of shoes that are both solid and stylish, not the sort of hiking shoes some people wear.
Lastly, your coat. Consider getting one of the the semi-long black winter ones with a wool/kashmir outside, I think it will look good on you and make you seem more mature, stylish and confident. If you want gloves get them with a suede or leather outside, no ski gloves.