Vector GUIs

Discussion regarding the development of CEGUI itself - as opposed to questions about CEGUI usage that should be in the help forums.

Moderators: CEGUI MVP, CEGUI Team

User avatar
baxissimo
Quite a regular
Quite a regular
Posts: 60
Joined: Tue Feb 22, 2005 08:04
Location: Tokyo, JAPAN
Contact:

Vector GUIs

Postby baxissimo » 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?

User avatar
lindquist
CEGUI Team (Retired)
Posts: 770
Joined: Mon Jan 24, 2005 21:20
Location: Copenhagen, Denmark

Re: Vector GUIs

Postby lindquist » Sat Jan 28, 2006 18:05

Hi baxissimo.
I've had a look at Antigrain (AGG) and it looks very cool :D
I have absolutely no experience that kind of library though, and the API seems very different from "conventional" graphics APIs on first glimpse.

I do however find it very interesting, and a CEGUI renderer would be awesome... I'll definitely try it out (time to learn a new API anyway ;) ), so watch this space.

I'll post my experiences with VectorCEGUI when I have some.

User avatar
baxissimo
Quite a regular
Quite a regular
Posts: 60
Joined: Tue Feb 22, 2005 08:04
Location: Tokyo, JAPAN
Contact:

Re: Vector GUIs

Postby baxissimo » Sun Jan 29, 2006 13:37

I've had a look at Antigrain (AGG) and it looks very cool :D
I have absolutely no experience that kind of library though, and the API seems very different from "conventional" graphics APIs on first glimpse.


Yeh, AGG is a little different from your typical getDC(), dc.lineTo(), dc.moveTo() type interface. But you can wrap it up in a more conventional API like that if needed. The wxArt2d library has such an interface with the typical GDI-like set of calls, and they implemented a back end that uses AGG. So that's one place to go if you want to look at the source of a GDI-like wrapper.

Also these guys http://www.creativedocs.net/ have done a lot with AGG. Especially check out their gui screenshots http://www.creativedocs.net/devs/gui. It's all in .NET, apparently. The C# wrapper they wrote for AGG is available online. http://www.creativedocs.net/devs/agg

I do however find it very interesting, and a CEGUI renderer would be awesome... I'll definitely try it out (time to learn a new API anyway ;) ), so watch this space.

I'll post my experiences with VectorCEGUI when I have some.


I suspect vectorCEGUI won't be such an easy task. But if you find out otherwise, that would be marvelous.

[edit]
Amanith is another good one to check out for vector rendering. http://www.amanith.org/blog/index.php. It might be a better fit with CEGUI since it's OpenGL based. I think it's also got a more traditional drawing API than AGG so might be easier to work with for that reason.


Return to “CEGUI Library Development Discussion”

Who is online

Users browsing this forum: No registered users and 1 guest