First of all, some key info:
- Platform: Windows Phone 8
- API: DirectX 11
- Language: C++/CX
I've created a 2D project for Windows Phone 8, which uses DDS textures with 8-bit alpha. I'm having issues getting additive blending working correctly.
The textures have had PreMultipliedAlpha applied.
I've tried various combinations of settings for the BlendState, this is what I'm using currently:
blendDescription.AlphaToCoverageEnable = false;
blendDescription.RenderTarget[0].BlendEnable = true;
blendDescription.RenderTarget[0].SrcBlend = D3D11_BLEND_ONE;
blendDescription.RenderTarget[0].DestBlend = D3D11_BLEND_ONE;
blendDescription.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD;
blendDescription.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ONE;
blendDescription.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_ONE;
blendDescription.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD;
The results i'm seeing are as follows:
- The textures are being alpha blended correctly, but i'm not seeing an additive colour effect.
- If I try DDS 1 textures (1 bit alpha) these work perfectly fine, but obviously 1 bit alpha is very limited.
Can anyone suggest what I might be doing wrong here?
Thanks
Casper