Alpha mapping with a .DDS, DX11

Started by
0 comments, last by bb_buster 11 years, 3 months ago

Hello. I'm rendering a text with a DDS file texture that has Alpha enables so it can render letters as quads. Im using DDS with no compression for quality reasons.

The resulting image will be r,g,b beeing 0 and alpha the surroundings the rest of thexture that is not character body.

When the imagine has r,g,b = 0 the text is back with correct Alpha but when I try to modify the r,g,b to any value it also colores the alpha zone even if I keep alpha at the same value.

The thing is that I want to make different colored characters and I dont understand why I cant modify different pixels after Sampling the texture.

[source]


blendStateDescription.RenderTarget[0].BlendEnable = TRUE;
blendStateDescription.RenderTarget[0].SrcBlend = D3D11_BLEND_ONE;
blendStateDescription.RenderTarget[0].DestBlend = D3D11_BLEND_INV_SRC_ALPHA;
blendStateDescription.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD;
blendStateDescription.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ONE;
blendStateDescription.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_ZERO;
blendStateDescription.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD;
blendStateDescription.RenderTarget[0].RenderTargetWriteMask = 0x0f;

[/source]

[source]

void PS( in PixelInputType inpt , out float4 colorOut : SV_Target )
{

colorOut = shaderTexture.Sample(SampleType, inpt.tex);
colorOut = float4(0.7f, 0.7f,0.7f,colorOut[3]); // here I try to color the text by overwriting a given pixel that by default mapped from texture should be black (rgb 0 and custom alpha).

}[/source]

alphatl.jpg

Advertisement
The blend state for the source alpha is set to 1 whilst the destination alpha is 0 and they're being added together to make 1. I'd suggest trying the source alpha to be set as D3D11_BLEND_SRC_ALPHA

The colours may need to be checked too. I'd suggest maybe try changing the SrcBlend to D3D11_BLEND_SRC_COLOR and DestBlend to D3D11_BLEND_ZERO

Hope it helps

This topic is closed to new replies.

Advertisement