Vector GUIs
Posted: Wed Jan 11, 2006 02:58
I get the feeling recently that vector graphics are rapidly becoming more and more important. There's the GAMESWF project targeting games specifically, but outside the gaming world there's the Windows Presentation Foundation, Avalon, XAML. In Mac the core drawing API is based on PDF, from what I understand. Seems there's likely to be more diversity in screen resolutions in the future too, making resolution-independent rendering more important.
So, what are the chances that CEGUI could be twisted into handling vector graphics in addition to bitmap graphics? My understanding is that "everything is a texture" was a sort of level 0 design decision, but I'm now finding myself trying to make a GUI on top of the "Anti-Grain Geometry" (AGG) library, and it would be great if I could reuse big chunks of CEGUI, substituting SVG files or something in place of the imagesets.
Anyway, I was just curious about this. I've hacked something up for now, which is probably all I have time for anyway, but I was just curious, if I really wanted to do things the "right" way, without reinventing wheels, what would be the best approach? My feeling was that I'd probably want to re-use an existing GUI API like CEGUI, thereby making it possible to reuse widget code and things like that just by replacing textures with vector-based things, and switching from the OpenGL renderer to a hypothetical "AGG renderer". But could CEGUI ever concievably handle this? Or is the current design too texture-centric to even be worth trying to railroad a vector GUI into CE's API?
So, what are the chances that CEGUI could be twisted into handling vector graphics in addition to bitmap graphics? My understanding is that "everything is a texture" was a sort of level 0 design decision, but I'm now finding myself trying to make a GUI on top of the "Anti-Grain Geometry" (AGG) library, and it would be great if I could reuse big chunks of CEGUI, substituting SVG files or something in place of the imagesets.
Anyway, I was just curious about this. I've hacked something up for now, which is probably all I have time for anyway, but I was just curious, if I really wanted to do things the "right" way, without reinventing wheels, what would be the best approach? My feeling was that I'd probably want to re-use an existing GUI API like CEGUI, thereby making it possible to reuse widget code and things like that just by replacing textures with vector-based things, and switching from the OpenGL renderer to a hypothetical "AGG renderer". But could CEGUI ever concievably handle this? Or is the current design too texture-centric to even be worth trying to railroad a vector GUI into CE's API?