I’m drawing polys using ARB_multitexture
thanks to the env_combine i can do (2 pass)
t0 * t1
t0 + t1
t0 + t1 -0.5 etc…
Now what i’d like to do is modulate the result
by glColor (still using 2 pass!)
=> t0 * t1 * color
=> (t0 + t1) * color (or t0color + t1color)
=> (t0 + t1 -0.5) *color
(well actually the first one is working)
or i can only modulate the first texture unit (t0)
i suppose this is a env_combine limitation, right?
what extension should i look at?
or the only solution is 3 passes?
thanks for your help
btw there is also an ARB version of that extension
other than that to do what you want to look into NV_combine4 or ARB_crossbar
crossbar/combine4 allow pointing to other texture units like
tex0 = t0 + t1
tex1 = prev * color
combine4 as the name says also allows combination
a * b + c * d
do you have any link that points
to code example using crossbar extensions?
afaik the only new thing is that when you define a src in tex_env_combine, you can use other texunits as source like:
glTexEnvi (GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_TEXTURE1_ARB)
before a src could only be
GL_CONSTANT, GL_TEXTURE, GL_PRIMARY_COLOR, GL_PREVIOUS
now you can do