"Jarrad Hope" <[EMAIL PROTECTED]> (on Fri, 16 Jun 2006 16:03:11 +0800):
> Binding Cairo > > Straight binding since its written in C - Glitz development is slow and > apparently incomplete? i'm not so sure about glitz, but i expect it to at least get good backing someday, once GTK switched to cairo completely, and XGL (or that other X-GL binding from redhat or whatnot) is more prevalent. i mean- the whole linux/etc desktop will depend on it, so there's lots of interest :) i didnt really look into that though, this is just guesswork from the little i follow... > AGG is pure software rendering library, with no HW acceleration. It means > that you can't use it for heavy duty realtime graphics. But still, in > practice the performance is good enough for, say, casual games. > > > Could you help us with this? Or know a way to make this easy? or any > > other suggestion? > > You can surely use AGG from pure C, for example, Carl Sassenrath with his > REBOL language does namely that. > > The first thing to do is clearly define the interface. Then, I can help > you with writting a wrapper over AGG with pure C functions. > > The interface can be something like OpenVG, for example, or, Java2D, > simplified and modified for pure C specific. interface, well- how about cairo? there are two options i could see that could give us best of both; both of them could be vaguely described as "having agg as a backend for cairo". a) cairo-agg- antigrain as a "proper" backend for cairo, using cairo's backend API. cario currently sports a software-renderer, glitz and postscript. if agg is better than the cairo softrenderer, this would make sense. b) cario-API wrapper on top of agg- antigrain not as a proper backend for cairo, but a thin lib on top of agg that implements the cairo api. instead of seeing cairo as a "lib proper" here, we "just" take it's C interface definition. i have to think about both (and other options) more. meanwhile, i've started trying to bind cairo. it pushes my little nekobind above its limits, but we'll see.. as for xinf, i will likely continue using the GL api directly, if only to keep the possibility of doing "heavy duty realtime graphics". otoh, cairo implements/defines so much of what i have to do myself that i should maybe reconsider. ahh- so many options! :) thanks for doing the research, anyhow. the comments from McSeem are interesting, his offer to help bind agg once we've defined an interface is very nice, too. -dan -- http://0xDF.com/ http://iterative.org/ -- Neko : One VM to run them all (http://nekovm.org)
