Athens uses Cairo , Cairo can be used with OpenGL. You can use Cairo to
apply a 2d vector graphic as a texture to a 3d polygon. Cairo website
shows several examples of this. That means its possible to have 2d
vector graphics in 3d space as if its true 3d.
I do not think that is going to work easily with the best performance possible. Cairo could be using OpenGL, but probably in a different OpenGL than the one that is being used for 3d graphics.
In addition, the Cairo OpenGL backend is experimental (
http://cairographics.org/OpenGL/) . Currently you have to render into a surface in CPU, then transfer it into GPU and then render the polygon. A naive version using the OpenGL backend is going to have GPU->CPU->GPU roundtrip
If we are using this route, I think that is better to just use the current version of Athens for this. With Athens we can render into a Form, which can be used to populate a Woden/Roassal texture or transferred directly to OpenGL. This has the advantage of not having a explicit dependency in Cairo. I guess that I will make a demo of this later. It should be easy.
I think that a longer term approach could be having a custom renderer, tailored for Athens using OpenGL or maybe OpenCL.
2D vector graphics are really hard. In my opinion they are harder than 3d graphics because of concave self intersecting paths. Stroking a path can be really hard because of thins such as tapering.
The 3D hardware is designed to draw efficiently points, lines and triangles. All of them are simple convex polygon. Most of the 2D vector engines such as Cairo are software renderer, scanliners to be more specific. The old cairo opengl backend had to tessellate the paths
Later I am going to take a better look in Jun. And see how I can integrate with Woden/Woden-Roassal. For what I have seen in the videos, it seems to be using software rendering. Currently I have been working in my internship about volumetric data visualization and the new FFI.