Ich habe sowohl SDL als auch SFML für meine Spieleprojekte verwendet. Ich habe SDL für ein fertiges Spiel, ein Tetris-Spiel, und meistens SFML als Fensterschicht für Shader-Experimente verwendet. Aus meiner Erfahrung muss ich sagen, dass SDL das ist, was es sagt. Es handelt sich um eine einfache Ebene für direkte Medien, die die Daten, mit denen Ihre Medien (Ton und Video) arbeiten, auf eine Ebene abstrahiert, mit der Sie auf verschiedenen Plattformen interagieren können. Das ist "alles", was es tut.
Aus diesem Grund müssen Sie es im Allgemeinen mit einigen anderen Bibliotheken mischen, insbesondere SDL_mixer, SDL_gfx und SDL_image, die Funktionen bieten, die jeder zum Erstellen von Spielen benötigt.
Alle diese Bibliotheken sind auch für die Programmiersprache C gedacht und folgen deren Konventionen. Daran ist nichts auszusetzen, aber wenn Sie einen objektorientierten Ansatz für die Interaktion mit io wünschen, müssen Sie diese Ebene im Grunde selbst erstellen.
SFML wird mit sofort einsatzbereitem Lieferumfang geliefert. Es hat Sound, es hat Video, es hat Mixing, es hat Frame-Capping und es ist objektorientiert. Wenn es das ist, was Sie wollen, würde ich empfehlen, dass Sie dafür gehen. SFML hat auch eine Abstraktionsebene für einige der grundlegenden Funktionen in opengl (insbesondere beginShape / EndShape und Pixel-Shader). Ich glaube nicht, dass SDL so etwas hat, nur eine Methode, um sich damit zu verbinden.
PS: Um die Konversation nicht aus C / C ++ zu vertreiben, aber wenn Sie diese Sprache aus einem bestimmten Grund nicht verwenden und eine einfachere Sprache wünschen, gibt es immer ein Pygame. Welches ist im Grunde SDL + für Python.