I am building a game and the main character's arm will be following the mouse cursor, so it will be rotating quite frequently. What would be the best way to rotate it?
With SDL you have a few choices.
Rotate all your sprites in advance (pre-render all possible rotations) and render them like you would any other sprite. (Fast, but uses more memory and more sprites)
Use something like SDL_gfx to do real-time rotation/zooming. (Not recommended, very slow)
Use SDL in OpenGL mode and render your sprites to primitives, applying rotation to the primitives.
Option 3 is probably your best bet because you gain all of the advantages of using OpenGL. It's really up to you how to want to do it. It's also a possibility that you can load your sprites, perform all rotation calculations with SDL_gfx and then save the rotated versions to a SDL_Surface in memory.
EDIT: In response to your comment I would recommend checking out this GPWiki tutorial about using OpenGL with SDL. It doesn't cover rotation but it does cover basic set up and drawing. There is an OpenGl function, glRotatef
, which can be useful in your case. A quick search brought back this little tidbit which could also be helpful.