glBlendFunc waterdrops

Hi
how to draw water drops in front of a transparent background. (car window etc.)
This looks almost ok with water texture in front and transparent background image.

glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA);

but about the same as

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

But I guess it would look better if the foreground water drops would be half transparent (not white)
Many thanks

It depends entirely upon the context. Typically you’d use some approximation which works for the specific scene. For small droplets, you can often ignore the refraction of transmitted light and just add some reflected light.

would you have some code to try? thanks

Nothing that would be useful as it stands.

The complex part is generating a sprite for a single water droplet. If you want something reasonably accurate, render a water droplet using specular reflection and Schlick’s approximation for the reflectance of the surface of the droplet (using a light map or individual light sources) then use that sprite to render droplets with additive blending, i.e. glBlendFunc(GL_ONE, GL_ONE). You can simplify the process greatly by just using a hand-drawn droplet sprite, but rendering results in reflections which change with the viewpoint and scene lighting.

Tried all day to get the foreground drop textures semi transparent using this site:

without luck. Any help with that? The background image is fully transparent over a x-plane dynamic background. (aircraft window)
Many thanks