Try this.
I used to shoot NRA highpower. You would sit in the sun with a 9 pound shooting jacket and really heat up, fogging your glasses.This works 100%.
Get yourself a bar of Ivory soap. Plain old white bar Ivory soap. Rub the soap DRY over the surface of your glasses, front and back. Wipe off the soap with a tissue. It'll last all day.
The glycerin in the soap repels the moisture. Works great, cheap. Keep a bar in your range bag.