I am eyeing OpenVG and cairo as rendering libraries for my pet game GUI. You can use both to render either into a texture or issue GL commands to draw directly onto the display. If I would use them directly, there are the following issues:
- they will mess with GL state, which can be a problem, if it happens every frame,
- their code will be executed every frame, if the GUI is drawn directly, but the GUI textures would be updated only when game state changes.
For this reasons I think I should be rendering the GUI into texture(s), but I'm asking here just to be sure.