PDA

View Full Version : how to fade a textured object in/out ?



digiboy
03-04-2008, 10:49 AM
How do you fade (alpha fade) an object in/out? (like a klingon ship does).

The only way I could do this, is to take the textures and modify the alpha channel and resend the textures to the video memory each frame. But this would be very slow.

Is there a way to effect the overall alpha attribute of a texture at render time?

Thanks.

zeoverlord
03-04-2008, 12:11 PM
Try the last parameter in glColor4f

Ilian Dinev
03-04-2008, 12:19 PM
will produce artifacts imho (hidden polygons popping-up)

How about this: disable color (keep depth-test and depth-write enabled), draw your object. And then enable color and draw the object the way zeoverlord mentioned. Just draw your object last (after background and things that could be behind it) ^^

digiboy
03-05-2008, 08:45 AM
But i'm using textures, does glColor4f still apply? I thought that was just for solid color materials.

-NiCo-
03-05-2008, 08:51 AM
if your texture environment mode is set to GL_MODULATE (which is the default) the color from glColor4f() will modulate the texture value. So for

glColor4f(1.0f,1.0f,1.0f,0.25f)

and a texture value of

0.5f , 0.25f , 0.75f , 1.0f

the output will be

0.5f*1.0f , 0.25f*1.0f , 0.75f*1.0f , 1.0f*0.25f
=
0.5f , 0.25f , 0.75f , 0.25f

digiboy
03-06-2008, 09:56 AM
Ok, I got it working. I had to call glEnable(GL_COLOR_MATERIAL) but now my lighting is not working. Everything is bright. I have a maze with lamps in the corners, but once I enable GL_COLOR_MATERIAL everything is just bright (ignores my lights).

Any ideas why?

Thanks.

ZbuffeR
03-06-2008, 02:58 PM
Check ambient lighting ?

digiboy
03-11-2008, 07:47 AM
I got it all working now. Seems that when you enable GL_COLOR_MATERIAL that lights are 10x brighter. I've adjusted values and everything works.

Thanks to all for fast help.

TTYL