sprite->Begin(...);
sprite->Draw(...);
sprite->End(...);
And he mentions Note: if you are drawing many sprites it is best to still use just one sprite interface and do all your drawing between the begin and end calls. This allows Direct3D to speed up the rendering of multiple sprites Which means you might do something like:
sprite->Begin(...);
sprite->Draw(...);
sprite2->Draw(...);
sprite3->Draw(...);
sprite->End(...);
Right? In which case, would it be worthwhile maybe having a function somewhere in a class related to the game engine that has some kind of dummy sprite and does Begin() and End() for you? That would work wouldn't it? You could then just use that all the time to begin and end your sprite rendering. Something like:
Engine::BeginRender();
...Do all sprite Draw() calls...
Engine::EndRender();
Seems neater but maybe I'm completely misunderstanding this?