I'm trying to use a mask on an image and drawing in another to build composite map tiles.
DirectX works (tonyg's code), but in OpenGL it seems like something isn't being released/set back to normal (drawn images are always full white).
OpenGL technique:
http://www.gamedev.net/community/forums/topic.asp?topic_id=372568
Full code, binary and images (left mouse to do the splatting):
http://files.filefront.com/tilecompilatorzip/;13317692;/fileinfo.html
EDIT: Here is a shot of the problem:

EDIT2: It also seems that DirectX settings are not being unset aswell (the mask image that is drawn goes completely black; alpha is turned off?)
DirectX works (tonyg's code), but in OpenGL it seems like something isn't being released/set back to normal (drawn images are always full white).
OpenGL technique:
glActiveTextureARB(GL_TEXTURE0) glEnable(GL_TEXTURE_2D) glBindTexture(GL_TEXTURE_2D, glframe2.name) glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE) glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA_ARB, GL_TEXTURE0) glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA_ARB, GL_SRC_ALPHA) glActiveTextureARB(GL_TEXTURE1) glEnable(GL_TEXTURE_2D) glBindTexture(GL_TEXTURE_2D, glframe1.name) glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE) glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_MODULATE) glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE0_RGB_ARB, GL_TEXTURE1) glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND0_RGB_ARB, GL_SRC_COLOR) glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE1_RGB_ARB, GL_TEXTURE1) glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND1_RGB_ARB, GL_SRC_COLOR) glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA_ARB, GL_PREVIOUS) glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA_ARB, GL_SRC_ALPHA) glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE1_ALPHA_ARB, GL_PREVIOUS) glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND1_ALPHA_ARB, GL_SRC_ALPHA) glBegin(GL_QUADS) glMultiTexCoord2fARB(GL_TEXTURE0_ARB, glframe1.u0, glframe1.v0) glMultiTexCoord2fARB(GL_TEXTURE1_ARB, glframe2.u0, glframe2.v0) glVertex2f(x, y) glMultiTexCoord2fARB(GL_TEXTURE0_ARB, glframe1.u0, glframe1.v1) glMultiTexCoord2fARB(GL_TEXTURE1_ARB, glframe2.u0, glframe2.v1) glVertex2f(x + splat_image.width, y) glMultiTexCoord2fARB(GL_TEXTURE0_ARB, glframe1.u1, glframe1.v1) glMultiTexCoord2fARB(GL_TEXTURE1_ARB, glframe2.u1, glframe2.v1) glVertex2f(x + splat_image.width, y + splat_image.height) glMultiTexCoord2fARB(GL_TEXTURE0_ARB, glframe1.u1, glframe1.v0) glMultiTexCoord2fARB(GL_TEXTURE1_ARB, glframe2.u1, glframe2.v0) glVertex2i(x, y + splat_image.height) glEnd() glActiveTextureARB(GL_TEXTURE1_ARB) glBindTexture(GL_TEXTURE_2D, Null) glDisable(GL_TEXTURE_2D) glActiveTextureARB(GL_TEXTURE0_ARB) glBindTexture(GL_TEXTURE_2D, Null) glDisable(GL_TEXTURE_2D)
http://www.gamedev.net/community/forums/topic.asp?topic_id=372568
Full code, binary and images (left mouse to do the splatting):
http://files.filefront.com/tilecompilatorzip/;13317692;/fileinfo.html
EDIT: Here is a shot of the problem:

EDIT2: It also seems that DirectX settings are not being unset aswell (the mask image that is drawn goes completely black; alpha is turned off?)