SDL is the foundation on which a game can be built without much ado. However, SDL is not complete in itself. It just provides certain services that allow the interaction between various components of a game/simulation, as well as the games interaction with the OS, to become seamless. If there are no components to utilize these services, then these services become just proof of concept.
In a gaming engine, most of the time, these services are required by the rendering and AI components. From this part onwards I will be concentrating on the rendering component and its interaction with SDL. I will be covering the AI component in the future.
Though SDL supports other graphics libraries, its usage with OpenGL is more common. The reason for this is that SDL and OpenGL fit like parts of a puzzle. So most of the time, the rendering component, or the rendering sub-system (I will be using this term from now onwards) of a gaming engine is built upon OpenGL. Hence understanding OpenGL is a must to build a good rendering sub-system.
This part and the articles coming in the near future will detail the different aspects of OpenGL along with how SDL helps in creating a good framework for future purposes. The next section will detail the steps necessary in creating a basic application, while the third section will cover the development of a framework using SDL that can be used in the future. In the last section, I will use simple OpenGL routines to test the framework. That is the agenda for this discussion.