I would like to ask if SDL is considered a game engine, or just a library like Open and Direct3D?
closed as primarily opinion-based by bummzack, Nicol Bolas, ClassicThunder, Maik Semder, Maximus Minimus Jul 15 '13 at 18:19
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.
SDL is a library. OpenGL is kinda library. DirectX is a collection of libraries. None of these are engines. Engines are built with some or all of these though.
Understand that you are looking at this in a way which won't allow you to fully understand the scope of these technologies. The term library is thrown around a lot, and it does little here to help anybody understand the purpose/intent of the technologies describe.
OpenGL first and foremost is a standard which has various implementations from system to system. A group of people meet, agree upon a standard which then becomes available to people ( like graphics hardware and operating system manufacturers ) who then in turn create an implementation. The implementation of OpenGL is a library, and is almost solely focused on providing us access to graphics hardware to accelerate and better our scenes.
SDL is a library built to be a solution to tackle the many redundant obstacles associated with creating a cross-platform game that utilizes such things as window management, event handling, video stuff which differ from platform to platform. Don't believe me? Make a simple program that only produces a window on the three major platforms and see how long it takes, now do it with SDL and realize why it exists. SDL can also utilize an implementation of OpenGL to further extend its capabilities, but SDL is by no means an engine. SDL however is a collection of sub-systems, not all of which have to be used in a project using SDL. Some of the sub-systems are video, audio, events, timing, etc.
DirectX would be most comparable to SDL in this set of technologies that we are discussing. DirectX is not cross-platform, but does provide a developers tools to easily tackle some of the problems associated with developing a game on windows. DirectX ( like SDL ) is really an amalgamation of technologies such as Direct3D, DirectAudio, DirectDraw etc. which together form a very powerful solution to taking on a game project.
An engine utilizes one or even all of these technologies to build a system which can be re-used to construct various games. For instance, the Unreal Engine utilizes both OpenGL and DirectX to bolster its graphics capabilities, and help push the technology across various platforms.