Trying to use a multiplying blendstate to get results like image editors.

Hi :wink:,

My english is really bad :sweat_smile:

:sweat_smile:, sorry, this :

AlphaBlendFunction = BlendFunction.Add,
AlphaDestinationBlend = Blend.Zero,
AlphaSourceBlend = Blend.DestinationAlpha,

That change nothing

I can explain without writing too much in English the solution if you want.
You want to create a Multiply BlendState like Photoshop :

First you need to understand how works ColorBlendFunction :

ColorBlendFunction = BlendFunction.Add // already setting

That means : (Source * SourceBlend ) + (Destination * DestinationBlend)

If we want only multiply Source and Destination
We have : Source * Destination + Destination * Zero

So :
SourceBlend = Destination : ColorSourceBlend = Blend.DestinationColor
DestinationBlend = Zero : ColorDestinationBlend = Blend.Zero

1 Like