@hazlin OpenGL 4
It manages a lot of the fiddly annoying stuff for you while giving you the full power of the GPU. It's pretty easy to get a window up and a context attached with GLEW. There are some libs out there to do that stuff, but why? It's not particularly hard.
My editor is effectively a really boring 2D OpenGL game: https://github.com/yzziizzy/gpuedit
I also recommend using some good C data structure libs, like stb or my own sti: https://github.com/yzziizzy/sti Or you could write your own if you want the experience. Just make sure to learn and use the techniques from stb or sti in making typesafe generic data structures in C.
And you'll need a math library. I couldn't find a good one in pure C, so I wrote my own: https://github.com/yzziizzy/c3dlas