Every frame checks whether each streak's coordinate falls inside the umbrella's boundary shape, and only the portion inside is skipped from drawing so the umbrella looks like it actually blocks the rain.
Every frame checks whether each streak's coordinate falls inside the umbrella's boundary shape, and only the portion inside is skipped from drawing so the umbrella looks like it actually blocks the rain.