Skip to main content
GameDev.net gamedev.net
🔒 Locked

Diffuse Colors Alpha Channel Ignored

Started by DJTN Apr 9, 2012 at 7:25 PM 4 replies 2.8k views
Original Post
DJTN
DJTN
Is it possible to use the Alpha from my Vertices Diffuse Color and the alpha in the Texture? Currently I have a particle system that changes the alpha values of the vertex diffuse color over time and the texture has a transparent background. Is it possible to use both? Currently the alpha in the diffuse color has no affect on the final color. In my shader I want to use both. Is this possible?
gfxgangsta
gfxgangsta
You should be able to multiply the texture alpha with the vertex color's alpha to get the final color's alpha. Can you post the shader code?
DJTN
DJTN
I don't think the issue is in the shader:


float4 diffuse = tex2D(diffuseSampler, IN.texcoord) * IN.color;

return diffuse;



The "IN.color" is my vertex color. The color is recognized but not the alpha.

I tried the following to test:



float4 diffuse = tex2D(diffuseSampler, IN.texcoord);

diffuse.w = IN.color.w;

return diffuse;



Still, the alpha is not recognized. I checked the vertex data before it's getting sent over and the diffuse color's alpha is set correctly.
gfxgangsta
gfxgangsta
How are you changing the vertex alpha?
Are you using vertex buffers? If so, are you locking the vertex buffer, modifying the value and unlocking the vertex buffer?
Or are you using vertex arrays?
gfxgangsta
gfxgangsta
Also, have you enabled alpha blending?
DJTN
DJTN
Thanks for your help gfx, I found my problem. I have a method that removes a particle after it's faded out or it expires. The particles faded out so quickly they died before the fade could be seen.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.