The reason glasses cost so much is because one company owns: (1) nearly all brand name frames including Ray-Ban, Oakley, Prada eyewear, Armani eyewear and so on, (2) nearly all retail stores such as LensCrafters, Pearle Vision, Sears Optical and Target Optical and (3) EyeMed, one of the largest vision insurance companies.
See this eye-opening 60 Minutes story on Luxottica: https://www.youtube.com/watch?v=gDdq2rIqAlM
Luxottica retail brands: http://www.luxottica.com/en/retail-brands
Luxottica eyewear brands: http://www.luxottica.com/en/eyewear-brands
Luxottica vision insurance: http://www.luxottica.com/en/node/6336
In the US, only Costco and Walmart's optical departments are independent of Luxottica.