Precipitation used to "work" in OpenGL in terms of randomly working in some areas but not working most everywhere else, so you'd get a small area where it would rain but right next to it it wouldn't. It never properly worked in OGL, even at implementation.
It works fine on the next branch if you just update a certain out-dated variable . I have a patch if you want. =)
If you run a map that rains from the beginning, such as CEZ3, it works perfectly well in all areas. Add weather = 1 to CEZ2's entry in MAINCFG, for example, and you get rain just as good as software, without the slowdown. It also only rains where it's supposed to, just like software.
What doesn't work is changing from no rain to rain without reloading the map (i.e. doing devmode, then "weather 1"). So wads that do that, like Time.wad, will show the bug.
Interestingly, the rain "patches" that appear that seem random actually directly correspond to map nodes/subsectors. You can see it in the new zone builder. Make a simple map with just a few sectors, test it, toggle the weather, then switch back to your zone builder, and look at the "nodes view." Now, which nodes and why are a mystery, but they're always the same ones every time, unless you move or add sectors, or change angles, most likely cause it changes the node shapes and numbers.