Mezcla alfa no acumulada

Estoy intentando hacer mallas superpuestas y mezclar sus colors, pero de esa manera el alfa no se acumula, y superponer el mismo color mantiene el color sin cambios. Probablemente sea más fácil describirlo en una image …

Mezcla

Tenga en count en la image que el verde 70% sobre verde 70% es exactamente el mismo verde 70%. Verde 70% sobre azul 70% es verde / azul 70%. No soy muy exigente sobre cómo funciona la mezcla de colors, siempre que tenga sentido para el ojo.

Solo tengo DirectX9 (a través de SharpDX) disponible.

Una de las cosas que he intentado fue convertir las mallas en una textura de renderizado con un 50% de alfa (lo que resulta en la acumulación de alfa) pero luego fijar el alfa en el sombreador de píxeles que compone la textura de renderización de la escena. Para mi sorpresa, verde sobre verde dio como resultado un tono diferente de verde.

También probé una mezcla alfa separada usando estas configuraciones: SeparateAlphaBlendEnable: true, BlendOperationAlpha: Maximum, RenderState.SourceBlendAlpha: SourceAlpha, DestinationBlendAlpha: DestinationAlpha pero esto tampoco tuvo el resultado esperado.