Jump to content
  • Advertisement
Sign in to follow this  
Papadopol

Alpha mapping with a .DDS, DX11

This topic is 2065 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!