Original Post
I've concocted a model to port my Directdraw engine to direct3d. I thought I'd run the idea by some of the gurus here. Basically, the entire game is in 2d. Everything already revolves around an image class that I wrote. Essentially how it'd work is when you load the image, you would specify if it needs color keying, rotation, flipping, or alpha blending. If it doesn't, it would load it into an IDirect3DSurface9. If it does, it would figure out the maximum texture size for the client machine. It would divide the image into multiple textures spanning across the maximum texture size. Meaning, in the simplest example, if it loaded a 512x512 image, and the maximum texture size for the graphics card is 256x256, it would load 4 256x256 textures. Now, I don't make my images in powers of two. So if it was something like 520x512, it would load the 2x2 256x256 textures like before, but it would also figure out the smallest power of two above it, so that it could match. Meaning, in this example, the textures would turn out to look something like this: [256x256][256x256][4x256] [256x256][256x256][4x256] This way, it could load any size image up. It would also generate the quads automatically. I could keep all of the functionality necessary from my directdraw engine, and use this. Would it work? are there any pressing flaws that I don't notice?