Jump to content

  • Log In with Google      Sign In   
  • Create Account


Alpha mapping with a .DDS, DX11


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 Papadopol   Members   -  Reputation: 178

Like
0Likes
Like

Posted 22 January 2013 - 01:22 PM

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.



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;

 

 
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).


}

 

alphatl.jpg



Sponsor:

#2 bb_buster   Members   -  Reputation: 117

Like
0Likes
Like

Posted 22 January 2013 - 10:33 PM

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




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS