RainX - it doesn't keep everything perfect, but it helps to shed some of the water and keep the fogging up to a minimum. Be careful though - it can damage some kinds of plastic/coatings so test a little area first. I haven't had any problems with my plastic lenses, which I am guessing are polycarbonate.