I know it is recommended to use an alpha channel for this but I am working on an old game with thousands of sprites using .bmp files and I just want to convert the game to DirectX 9 as it uses DirectDraw7 to achieve this. I am unsure how to do this in DirectX 9 without using an alpha channel. It is impossible for me to use an alpha channel, rather converting the black to alpha channel is the way to go given the circumstances.

I use color keying method in alpha blending to remove any pixel with opaque black ( D3DCOLOR_ARGB(255,0,0,0) ). Is there a way to somehow remove any black shades but keep the other color in that pixel like it shows in the image? In other words remove any black contained in a single pixel that has an alpha range of 1~255 without altering any other color within that pixel ...and the more black removed, the more transparent the color contained within that pixel becomes.
Edited by kamal7, 31 August 2012 - 11:03 AM.






