In my oppinion if you want to start from scratch OpenGL is a good option, but it is not a fully fledged graphcs engine. OpenGL just provices you with methods to interact with you graphics card and draw stuff etc. You will have to implement a lot of thing by yourself.
Otherwise i could recommend...