AnsiGL
A modern "graphics" API for text-based applications
... tend to either use video hardware, or are simply not as fully-featured as one might hope or expect, at least in the area of visual elements. AnsiGL can serve to bridge that gap easier, and since it "renders" to a std::string (or optionally, an ncurses WINDOW *), integration should be relatively easy with just about any project. Bindings to ncurses are provided to allow for rapid, fully-featured application development with old and familiar friends, along with AnsiGL.