I’m struggling trying to understand how to create a new texture (with a new GLHandle, if possible) after merging two other in the same concept of multitexturing. I’m doing this because I’m using ETC1 compressed textures, witch doesn’t support alpha channel’s, so I wanted to load the pre-generated alpha channel from another file and “merge” both of them after uncompressing.
I know that multitexturing does this, but it implies to render the two textures (compressed + alpha) altogether, right?
Also, I’m doing this because I’ve seen a massive speedup in my rendering pipeline by using compressed textures. If I recreate it with the alpha channel it’s supposed that the performance benefits will stick, right?
I think you can do it with OpenGL ES 1.1 using multitexturing and the
GL_COMBINEenvironment. First we use whatever standard environment you want for the color texture:Then for the alpha texture, which is bound to the second unit, we just take the color from the previous stage (the color texture) and only use the alpha of the texture.
If I misunderstood you and you don’t want to use multitexturing (and neither fragment shaders), then you won’t be able to combine these two textures during rendering. Perhaps with a multipass technique but I’m not sure if that would buy you anything performance-wise.