PDA

View Full Version : More GL_ARB_multitexture problems



Frumpy
03-28-2001, 08:41 AM
My experiements with GL_ARB_multitexturing so far with one base texture and two decals over two passes work. Thanks to all who've helped me get this far. But out of curiosity I decided to try adding a third decal like this
alpha test on (greater,0.5)
Pass1.TexUnit0.basetexture.GL_REPLACE = visible
Pass1.TexUnit1.decal1.GL_DECAL = visible
draw quad
Pass2.TexUnit0.decal2.GL_REPLACE = visible
Pass2.TexUnit1.decal3.GL_DECAL = not visible
draw quad
alpha test off

Out of total *despiration* I've also tried these other combos for Pass2:
TexUnit0.decal2.GL_REPLACE = not visible
TexUnit1.decal3.GL_REPLACE = visible

TexUnit0.decal2.GL_REPLACE = not visible
TexUnit1.decal3.GL_MODULATE = not visible

TexUnit0.decal2.GL_REPLACE = not visible
TexUnit1.decal3.GL_BLEND = not visible

TexUnit0.decal2.GL_DECAL = visible
TexUnit1.decal3.GL_DECAL = visible
// background all white (no base texture or decal1)

TexUnit0.decal2.GL_DECAL = not visible
TexUnit1.decal3.GL_REPLACE = visible

TexUnit0.decal2.GL_DECAL = not visible
TexUnit1.decal3.GL_MODULATE = visible

TexUnit0.decal2.GL_DECAL = not visible
TexUnit1.decal3.GL_BLEND = visible (inverted colors)

TexUnit0.decal2.GL_MODULATE = visible
TexUnit1.decal3.GL_DECAL = not visible

TexUnit0.decal2.GL_MODULATE = not visible
TexUnit1.decal3.GL_REPLACE = visible

TexUnit0.decal2.GL_MODULATE = not visible
TexUnit1.decal3.GL_MODULATE = not visible

TexUnit0.decal2.GL_MODULATE = not visible
TexUnit1.decal3.GL_BLEND = not visible

TexUnit0.decal2.GL_BLEND = not visible
TexUnit1.decal3.GL_BLEND = not visible

TexUnit0.decal2.GL_BLEND = not visible
TexUnit1.decal3.GL_REPLACE = visible

TexUnit0.decal2.GL_BLEND = visible (inverted colors)
TexUnit1.decal3.GL_DECAL = not visible

TexUnit0.decal2.GL_BLEND = not visible
TexUnit1.decal3.GL_MODULATE = not visible

I've also tried adding glColor4f(1,0,0,0) before Pass2 and got no further. In addition I've double checked my decals and they have the correct alpha values. If anyone is curious I'm using a Geforce MX with nVidia driver v6.50. What more can I try?

altai
03-28-2001, 05:16 PM
hey dude, just started w/ OpenGL sometime ago, but could it be that the second pass, the polygon is failing the depth test? if the glDepthFunc() is set to GL_LESS, then the second pass, the polygon will have the same z value and thus be thrown out, you might try changing it to either GL_EQUAL or perhaps disable depth testing (? like I said I don't know for sure, just speculating... good luck)

Frumpy
03-28-2001, 08:49 PM
Depth testing was never enabled but just to be certain I added glDisable(GL_DEPTH_TEST) and still no go. Rendering the textures the old fashioned way (five passes) everything works. Somebody please help it's inconceivable that I am the first person to hit this problem.