I have a base texture ('B'), two alpha textures ('A'), two detail textures ('D') and a light map texture ('L'). The base texture covers 100% of the area, the two detail textures use the alpha map textures as masks.
I'd like to render this in as few passes as possible since there are a lot of triangles.
If the GPU has 6 texture units, it's straightforward because I can do B,A,D,A,D,L using various combines and this works fine.
If there are 4 texture units, I can do B,A,D,L on the first pass and then A,D,L on the second pass. This also works fine.
This beings me neatly onto my question, is it possible with 2 texture units? Can you do two alpha-mapped detail textures on top of a base texture with a lightmap?
I have tried glBlend(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA), this works:
However, I'm not having much luck with the lightmap.
I tried glBlend(GL_ZERO,GL_SRC_COLOR) and this applies the lightmap nicely, but unfortunately it darkens the fog.
Is there a solution to this puzzle that doesn't involve shaders?
I'm sure there's a really simply answer, it just evades me at the moment!