My journey started simply enough, I just wanted to add alpha-blending to a DirectDraw application I'm working on. Much to my suprise, I learned that DirectDraw doesn't do alpha blending. I found a C routine that worked, but slowly. I found an inline assembler routine that used MMX and was faster, but not fast enough.
My next batch of research said that I could use Direct3D to render an alpha blended texture in hardware to my DirectDraw surface. Not only could I alpha blend, but I could use other goodies supported by most hardware nowadays.
I once considered moving to DirectX8 but someone told me that DirectX8 completely depricated DirectDraw and that I should stick to DirectX7 for non 3D apps. So, here's what I need to know...
Is it becoming the standard to use Direct3D even if you do not need all of its 3D capabilities? Is it preferred now to use Direct3D but to define all your objects as flat surfaces? Are there any drawbacks to using DirectDraw for 90% of my stuff, but delegate my alpha blending to Direct3D? Should I completely get rid of DirectX7 and go to 8?
I've come a long way in a short time, but there are so many variations of this one technology out there that it is difficult to know which to use.
Thanks in advance.