Глядя на ваш скриншот, вы просто рендеринге квадов с текстурой, содержащей ваши glpyhs правильно? Я посмотрел на свой собственный код для blendstate, я предполагаю, что вы используете технику, аналогичную той, что я делаю.
Мой код в C#, но с теми же настройками DX. Вы можете попробовать это.
blendStateDescription.RenderTarget[0].IsBlendEnabled = true;
blendStateDescription.RenderTarget[0].SourceBlend = D3D11.BlendOption.SourceAlpha;
blendStateDescription.RenderTarget[0].DestinationBlend = D3D11.BlendOption.InverseSourceAlpha; //
blendStateDescription.RenderTarget[0].BlendOperation = D3D11.BlendOperation.Add;
blendStateDescription.RenderTarget[0].SourceAlphaBlend = D3D11.BlendOption.SourceAlpha; //Zero
blendStateDescription.RenderTarget[0].DestinationAlphaBlend = D3D11.BlendOption.InverseSourceAlpha;
blendStateDescription.RenderTarget[0].AlphaBlendOperation = D3D11.BlendOperation.Maximum;
blendStateDescription.RenderTarget[0].RenderTargetWriteMask = D3D11.ColorWriteMaskFlags.All;
Я использую SourceAlpha и InverseSourcealpha, но я считаю, что использование Source as One и Destination as Zero также возможно. Но если вы ссылаетесь на страницу Microsoft DX по поводу смешивания, математика там публикуется.
Ответить в этой теме, если это не совсем работает. Я предполагаю, что ваша исходная текстура является текстурой RGBA, а альфа-компонент вашей текстуры равен 0, а фон также черный.