   Sprite or textured quad
  I have just finished clearing all the dust off some libraries I had created 3 years back, and I'm gearing myself up to putting them to some good use now. I am in the process of designing a 2D game, and I'm playing around with some DirectX once again.I have used the DirectX Sprite interface and functions, and all seems fine. I was wondering however... should I consider working with textured "squares" (or quads) in 3D, or continue working with the sprite interface? Are there any advantages of one over the other?I have read that Microsoft's implementation of the Sprite interface in DirectX 8 is flawed. Is this the case in DX9 onwards too?   
  A lot of the D3DX library used to be quite poor performance in DX8, this has been substantially improved in the latest DX9 SDKs, to the extent that you'll struggle to out-perform ID3DXSprite and other interfaces.You should use ID3DXSprite unless it's lacking features that you need and can't build on top of the interface. If in doubt, you could make a wrapper class around ID3DXSprite so that it can be easily replaced by your own code if you need to later on.   ;  Thanks for the advice. I will continue playing around with the ID3DXSprite interface then, and see if I run into any problems.To be honest, the thing that got me worried about the Sprite interface to begin with was the fact that images with sizes which are not a power of 2 are stretched by DirectX. I did manage to correct this by specifying that the images should maintain their original size. However, I also read that not all graphics cards support this feature. So I thought that it might be safer to use textured quads instead of the sprite interface.What do you think about this issue in particular?   ;  Wrap it!  Create a wrapper for sprite interface, use that to develop with until the power of 2 thing becomes a concrete problem, and then re-write the guts of the functions to use textured quads.  Or, as Steve mentioned, when you want to use features that the initial sprite based inards don't support.   ;  Well, since Sprites use textures quads internally anyway you won't escape the power of 2 problem by using either. It's a thing you have to deal with.   ;  Touche.   ;  Indeed. The power of 2 issue is not being caused by the D3DX Sprite interface itself, but rather by the D3DX Texture interface. Given that textured quads would require the use of the same D3DX Texture interface, then they would run into the same "power of two" issue as sprites would.So, at this point I have decided that I will be using the sprite interface. Which brings me to my next conundrum...I want to draw a background. This background is a huge image. I know that it is a bad idea to load a 5000x3000 image into video card memory, so I am not considering that. Would you think it a good idea to split the image up into, for example, 128x128 sections? In that case, I would write my own "wrapper" class around the sprite interface, which would allow me to specify a large image, and split it up for me into convenient 128x128 sections, drawing each section seperately.   ;  Yep, that's the common approach. You can safely go to 256x256, if you want bigger sections you have to check the cards capabilities.   ;  Thanks for your suggestions. I will proceed to implement the required stuff taking your advice into account. You will definately here from me again... after all, I don't think it will be very long before I come running back for your help again :)   