I have a multitextured quad which is to act as a window for a GUI. The first texture is a simple tiled background for my window. The second texture needs to be either masked or transparent so I can show through parts of the window background where there are no gadgets or text; since I couldn't seem to get masking working, I'm using alpha.
Details:
texture 0: loadtexture_COLOUR, textureblend_ALPHA
texture 1: loadtexture_COLOUR+loadtexture_ALPHA+loadtexture_VRAM, textureblend_ALPHA
My problem is that when I set the enitity to an Alpha setting less than 1, the first texture disappears entirely.
1. How do I fix this?
2. Is there some page I can read that will explain all the nuances of what issues there are when combining alpha, multitextuing, and any other directx features i should be concerned about?
3. It seems rediculous that createtexture() defaults each pixel to be opaque, and I have to loop through and set them to 0. Am I doing something wrong?
Details:
texture 0: loadtexture_COLOUR, textureblend_ALPHA
texture 1: loadtexture_COLOUR+loadtexture_ALPHA+loadtexture_VRAM, textureblend_ALPHA
My problem is that when I set the enitity to an Alpha setting less than 1, the first texture disappears entirely.
1. How do I fix this?
2. Is there some page I can read that will explain all the nuances of what issues there are when combining alpha, multitextuing, and any other directx features i should be concerned about?
3. It seems rediculous that createtexture() defaults each pixel to be opaque, and I have to loop through and set them to 0. Am I doing something wrong?
; create the overlay texture which will be drawn to this_window\overlay_texture = createtexture(next_power_of_two(width), next_power_of_two(height), loadtexture_COLOUR+loadtexture_ALPHA+loadtexture_VRAM) scaletexture(this_window\overlay_texture, texturewidth(this_window\overlay_texture), textureheight(this_window\overlay_texture)) textureblend(this_window\overlay_texture, textureblend_ALPHA) ; make it transparent for x=0 to texturewidth(this_window\overlay_texture)-1:for y=0 to textureheight(this_window\overlay_texture) writepixel(x,y,0,texturebuffer(this_window\overlay_texture)) next:next