Often times it's easy to take a library like SFML for granted. After all, the ideas and concepts offered by it seem quite intuitive. Building something rather simple can take as little as a couple of minutes, and there are no major headaches to deal with. In a perfect world, we could just offload those troubles to someone else and simply rely on increasingly higher levels of abstraction to get the job done. However, what happens when certain limitations make us slam face-first into a brick wall? In order to know the way around them, it's necessary to know the fundamentals that SFML was built on. In other words, at that point, downward is the only way forward.
In this chapter, we are going to be covering:
Setting up and using OpenGL with a window from SFML
Shaping and submitting data to the GPU
Creating, building, and using shaders for rendering
Applying textures to geometry
Looking at various coordinate spaces and model transformations...