Hello everyone,
I am embarking in the wonderous world of 2D animation and using directx9. I am a complete noob in the world of game engine design etc. I find DX quite usefull and in fact easy to use but in my opinion it's the engine design that makes or breaks the application. There are a massive amount of tutorials on the web explaning how to render a single image to a target but not so much for rendering a lot of sprites.
In order for me to figure out that I have understood the concept of this I would like to get some advice on this issue.
1) A sprite is not a image but an object that is linked to a device that takes an image and some other aditional information and display's that to the target. As such having one DirectX.Sprite object is all you need for the entire engine. You only need your own custom SpriteObject that holds the actual information to draw.
2) If the above is true then:
In order to draw a image multiple times I would recycle a image (or texture) multiple times. Therefor the customSprite object does not contain an actual image but holds a pointer to a collection of preloaded textures. ( This should save memory significantly I believe)
3) The memory of the graphics card only holds the information that it will need for calculating the current scene, I need to provide the graphics card with all the information it needs in order to operate every scene and is transmitted over the PCI-Ex bus every time.
For most of you these questions may seema bit simple but I find it hard to find any good documentation on how graphics cards actually work.
Greetings,
Crashpilot