Jeremy,<br><br>Thanks for keeping us updated on your progress.<br><br>I'm lurking also on cairo+gl path. I have gl code optimised<br>for the hardware and would like to take advantage of cairo.<br><br>I'm doing maps, so poly's could be VBO's (I suspect that this
<br>draw plenty of CPU as cairo must be re-tesselating at every frame)<br>and the fancy stuff would be done using cairo.<br><br>Well that's the theory atm :)<br><br><br>Cheers,<br><br>Sylvain.<br><br><div><span class="gmail_quote">
On 2/11/06, <b class="gmail_sendername">Jeremy Moles</b> &lt;<a href="mailto:jeremy@emperorlinux.com">jeremy@emperorlinux.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
For historical reference (I'm sure other people in the future will find<br>this handy) I've uploaded the modified and working version of file<br>representing how to draw regular OpenGL and Glitz on the same frame.<br>(Thanks to Reveman, who is very much the man).
<br><br>It's quite, quite slow--so, the best thing to do (which I'm working on<br>now) would be to draw to a glX Pixel Buffer instead--when necessary--and<br>then glDrawPixels that onto your scene instead of diving into the Cairo
<br>API every frame. I haven't actually made this work yet, but I'm very<br>close (and will post that code too when it's done).<br><br><a href="http://www.cherustone.com/cairo.cpp">http://www.cherustone.com/cairo.cpp</a><br>
<br>On Tue, 2006-02-07 at 19:17 -0500, Jeremy Moles wrote:<br>&gt; I wasn't expecting an immediate response to this or anything, so I'm<br>&gt; just updating it with what I've tried so far. However, if what I'm<br>&gt; trying is impossible at the moment I hope someone will tell me before I
<br>&gt; waste the rest of my free time after work trying to get this to go. :)<br>&gt;<br>&gt; Firstly, I can successfully use glitz to setup my glX context correctly<br>&gt; to work with both of my &quot;render functions.&quot; That is: I can use the code
<br>&gt; I modified from cairogears to do the standard DRAWABLE-&gt;SURFACE-&gt;CONTEXT<br>&gt; dance in glitz and then, in my &quot;render loop&quot;, simply make calls to GL<br>&gt; and everything works fine (lets call this function render_gl), never
<br>&gt; once using anything to do w/ cairo. My function just spins a triangle on<br>&gt; it's X axis.<br>&gt;<br>&gt; Alternatively, I can not make any calls to GL and instead use standard<br>&gt; cairo functions to draw paths, etc (lets call this function
<br>&gt; render_cairo). This function creates a big, green X.<br>&gt;<br>&gt; What I still can't do, however, is mix the too--even though, as far as I<br>&gt; understand, I should be able to. I'm still very much a newcomer to
<br>&gt; Xlib/GL/Cairo, so I could be wrong in my assumptions about how this<br>&gt; should work. I've read through the GLX PDF from SGI, and that's where<br>&gt; I'm getting my information. Furthermore, my older code does a lot of
<br>&gt; what glitz does for me--setting up the context, making it &quot;compatible&quot;<br>&gt; w/ X, etc.<br>&gt;<br>&gt; I've updated the link below to reflect the small progress I've made. It<br>&gt; almost works--or rather, the very first frame works. It may not be a
<br>&gt; problem w/ glitz+cairo at all, but instead me not doing some steps<br>&gt; between raw GL calls and cairo calls to make the GL &quot;states&quot; sane.<br>&gt;<br>&gt; <a href="http://www.cherustone.com/cairo.cpp">
http://www.cherustone.com/cairo.cpp</a><br>&gt;<br>&gt; On Mon, 2006-02-06 at 19:32 -0500, Jeremy Moles wrote:<br>&gt; &gt; I'm not sure if this question has been asked before, but my google-fu<br>&gt; &gt; was weak and I wasn't able to come up with anything.
<br>&gt; &gt;<br>&gt; &gt; I've been thinking about using Cairo (particularly, glitz) as the 2D API<br>&gt; &gt; for a small 3D engine I'm working with. I've been trying to integrate<br>&gt; &gt; glitz (using the code from cairogears) with my 3D engine, but have been
<br>&gt; &gt; entirely unsuccessful, mostly in part to my non-understanding of Cairo<br>&gt; &gt; at this low level.<br>&gt; &gt;<br>&gt; &gt; Does anyone have any code demonstrating this? Or, better, can anyone<br>&gt; &gt; write some very simple psuedocode showing how I should do it? The code
<br>&gt; &gt; I'm working with is here (much of it directly from cairogears):<br>&gt; &gt;<br>&gt; &gt; <a href="http://www.cherustone.com/cairo.cpp">http://www.cherustone.com/cairo.cpp</a><br>&gt; &gt;<br>&gt; &gt; Any help w/ this would be greatly, greatly appreciated.
<br>&gt; &gt;<br>&gt; &gt; _______________________________________________<br>&gt; &gt; cairo mailing list<br>&gt; &gt; <a href="mailto:cairo@cairographics.org">cairo@cairographics.org</a><br>&gt; &gt; <a href="http://cairographics.org/cgi-bin/mailman/listinfo/cairo">
http://cairographics.org/cgi-bin/mailman/listinfo/cairo</a><br>&gt;<br>&gt; _______________________________________________<br>&gt; cairo mailing list<br>&gt; <a href="mailto:cairo@cairographics.org">cairo@cairographics.org
</a><br>&gt; <a href="http://cairographics.org/cgi-bin/mailman/listinfo/cairo">http://cairographics.org/cgi-bin/mailman/listinfo/cairo</a><br><br>_______________________________________________<br>cairo mailing list<br><a href="mailto:cairo@cairographics.org">
cairo@cairographics.org</a><br><a href="http://cairographics.org/cgi-bin/mailman/listinfo/cairo">http://cairographics.org/cgi-bin/mailman/listinfo/cairo</a><br></blockquote></div><br>