For my 2D pixel art game engine in C/C++ I needed a way to separate the rendering from the game logic. On the project page for 'Pixelboy Game' I've talked about how I wanted to achieve a way to have the game logic separate from the platform layer. I wanted to do the same for the graphics API.