# Can I use a BlendState object to emulate a draw call's blending color?

I'm working on a lighting system for a tile-based game.

What I want to do is draw my tiles to the screen, then draw a single Texture2D object (my light map) over top of them. However, doing it in two steps results in the tiles looking "painted" and washed out.

To get this effect working, I called Texture2D.GetData() and then used that Color as the blending color when calling SpriteBatch.Draw() on each tile, which results in them being "tinted" correctly. This works, but it's a fair bit slower, and won't scale up for huge maps/view areas.

So, is it possible to use a BlendState object to do what I am doing above?

• Additive blending should do what you are trying to achieve. – ClassicThunder Nov 23 '15 at 0:27
• I've tried all of the built-in BlendState objects, but they don't produce the results I'm trying for. In the third image, the areas that aren't lit up end up black - if I used additive blending, then Black (0,0,0) wouldn't affect the final image, and it just ends up looking like pic related: i.imgur.com/DVrKnW4.png – Kyle Baran Nov 23 '15 at 1:15
• Turns out I did need additive blending, but also to adjust a few other blend settings too. Thanks! – Kyle Baran Nov 23 '15 at 4:05

ColorSourceBlend = Blend.Zero;