• Advertisement
Sign in to follow this  

Lesson 09 - Transparent color?

This topic is 2769 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 looking at lesson 9 (Moving Bitmaps In 3D Space, http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=09) and I can't figure out what part selects the color that is made transparent.

Basically, what the example program does is load a bmp-file and remove all the black color (#000000) in it, replacing it with transparent color. What I want to do is to specify another color to be replaced, for example #FFFF00.

Quote:
/* Load in the texture */
if ( !LoadGLTextures( ) )
return FALSE;

/* Enable Texture Mapping */
glEnable( GL_TEXTURE_2D );

/* Enable smooth shading */
glShadeModel( GL_SMOOTH );

/* Set the background black */
glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );

/* Depth buffer setup */
glClearDepth( 1.0f );

/* Really Nice Perspective Calculations */
glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );

/* Set The Blending Function For Translucency */
glBlendFunc( GL_SRC_ALPHA, GL_ONE );

/* Enable Blending */
glEnable( GL_BLEND );

Share this post


Link to post
Share on other sites
Advertisement
it's the last two commands, they make it so that anything that is drawn gets added to the screen instead of replacing whats on the screen, thus giving the appearance of transparency, but it's really not.

It's harder to take a specific color and make it transparent.
But what you can do is to have a specific alpha channel that takes care of the transparencies in a much better way.
More about that is in lessons 8, 24, 32 and 33.

Share this post


Link to post
Share on other sites
Yep, the three main solutions seem to be using black backgrounds or painting your own alpha layer onto TGA's or looping through the texture pixel by pixel.

I found this example app, http://www.codehead.co.uk/glsandbox.html , which helped out a lot.

Share this post


Link to post
Share on other sites
well there is a fourth, but it involves using shaders to set the alpha or just discard the pixel.

Share this post


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

  • Advertisement