You asborb Vit D through your skin hun, I have read that the eye lids are the most sensitive for Vit D production, so yes glasses would impeded that but not contact lenses.
Actually the best thing you can do is sun bath 2 or 3x a week for around 10-20 mins, obviously without sunscreen… and importantly children need exposure to the sun too without sunscreen. Again only 10 or 20 mins and then cover them up. Amazingly, there’s been reports of children getting rickets, purely because they are covered from head to two in sunscreen and so deficient in Vit D.
Vit D is an amazing vitamin too; it helps prevents cancers, osterperosis, mental illnesses like depression, schiphrenia, rickets, diabetes and it can even be useful for obesity, it’s recently been linked to helping with autoimmune diseases, alzemiers etc. A very, very important vitamin.
Jx