Jump to content
  • Advertisement
Sign in to follow this  
BloodLust666

transparent

This topic is 4314 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

i'm having some trouble again with my transparency... my sprites are being rendered with depth test and depth mask on and blending turned on with glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); as the blending function. BUT, in places where my texture has alpha of 0, it doesn't show the sprite behind it, it shows black, as if the color is black with alpha of 255. what's wrong?

Share this post


Link to post
Share on other sites
Advertisement
Are you drawing your sprites in the correct order?

Also, I believe that the correct term is transcluency, not transparency. A transparent object is invisible =)

Share this post


Link to post
Share on other sites
the objects don't need to be drawn in order, that's what the depth test is. and when i say transparent, i mean part of my sprite is transparent (alpha 0) and a lot is opaque (alpha 255), the part that's 0 is not showing the sprite behind it, it's showing up black

Share this post


Link to post
Share on other sites
With alphablending the drawing order DOES matter...

Have you set the correct vertex color before the texture draw eg. glColor(255,255,255) ?

Share this post


Link to post
Share on other sites
sounds like you need alpha testing, not blending:

glEnable(GL_ALPHA_TEST);
glAlphaFunc(GL_GREATER, 0);

note that with blending enabled, you might have blurry edges where the draw order *does* matter, even with alpha values of only 0 and 255. i think openGL does this to make it look smoother.

Share this post


Link to post
Share on other sites
well that fixed it, is there a way to disable the "smooth" thing? because it's like I see a fine line of black pixels at the edge of my texture that has the alpha test

Share this post


Link to post
Share on other sites
if i can't do that, how ELSE am i supposed to get sprites to look correctly?? i need blending, i obviously need alpha testing, and i need depth testing and mask.

Share this post


Link to post
Share on other sites
Try moving your texture coordinates slightly towards the initerior of your texture (i.e. 0.001 instead of 0.0 and 0.999 instead of 1.0). Due to sampling inaccuracies there might be a "seam" at the border when using exact coordinates.

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!