I am developing a 2D game in C#/XNA where the sprites/backgrounds/etc are Texture2Ds. I am interested in rendering a particular scene in either "daytime" or "nighttime". Obviously one option would be to have two copies of every image, one darker than the other, but this isn't very scalable. Is there a way to adjust the colours on the fly so that they appear darker? I'd guess it would be easiest to adjust the brightness or something (or whichever would look best) than trying to apply some sort of uniform transform to RGB values, but that's a lesser issue at the moment. Is there any way to say "draw this Texture2D, but adjust all colours in this way by this amount"?
Thanks!