c.mench at free.fr
Fri Apr 29 14:12:10 PDT 2005
DANIEL hoggan wrote:
> I am trying to write a quartz like api, that would do the same jobs
> for *nix as quartz does for Mac OS X, ie be the graphics engine and
> the windowing system.
> I had the idea of using Cairo, Gltz, Enlightenment, and ? this is the
> part I need help with.
> I want it to be able to be a complete graphics engine equal to Quartz
> and X. Can anyone help?
I thought of it also, the problem is that OpenGl would
be server side and you must have your window server above
that, but were is the limit between the window server and
the clients ? that is the question that is delicate and
difficult to change once the choice is made.
I propose something like that :
Window server: X + OpenGl + libGlitz + communication bridge
client library : libCairo + communication bridge
So basically I see the client / server separation just above glitz.
The server basically would manage all the glitz surfaces and will
know about windows and use the different glitz surfaces to form
the windows. Event management would also need to be developed
and a protocol designed.
Another problem: if you want your client to call directly openGl
functions, you must bridge all your function trought your
communication bridge, a bit like the indirect rendering is done on glx.
I don't know how of any IPC mechanism to acheve openGl calls troughput
equivalent to the direct rendering this way, so your window server will
always suffer from being slugish in 3d.
Any comment welcome
More information about the cairo