<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-1431</id>
	<title>Nabble - Gnome - GtkGLExt</title>
	<updated>2009-11-25T18:01:31Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Gnome---GtkGLExt-f1431.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Gnome---GtkGLExt-f1431.html" />
	<subtitle type="html">Discussion of GtkGLExt, OpenGL Extension to GTK+</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26523374</id>
	<title>Re: OpenGL widget fills entire window on OS X [was: OS X	Quartz developers...]</title>
	<published>2009-11-25T18:01:31Z</published>
	<updated>2009-11-25T18:01:31Z</updated>
	<author>
		<name>sbaka</name>
	</author>
	<content type="html">&lt;html&gt;
&lt;head&gt;

&lt;/head&gt;
&lt;body class='hmmessage'&gt;
I've read a bit more on the Next Step windowing system (a bit more). AAAhhhh if I only had the time.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;You may be on the right track, which still points to the fact that you are deriving the object from NSView instead of NSOpenGLView. NSOpenGLView implements a lot mechanism that are required for Composer (part of the windowing system) to set it up correctly. It may be that in your imp the required initialization procedures are not being done, or the methods necessary to control the actual GL window itself are not there.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;NSOpenGLView IS a NSView with addition initialization and implementation routines necessary for the GL window.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;table style=&quot;border-top:1px solid black;font-weight:bold;font-family:'Segoe UI',Tahoma,san-serif&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://im.live.com/Messenger/IM/Home/?source=EML_WLHM_GreaterGood&quot; style=&quot;font-size:9pt;color:#0184CB;text-decoration:none&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;img style=&quot;border-style:none&quot; src=&quot;http://gfx1.hotmail.com/mail/w4/pr01/ltr/i_charity.gif&quot; alt=&quot;i'm&quot;&gt; EMAILING FOR THE GREATER GOOD&lt;br&gt;&lt;span style=&quot;padding:0px 24px;font-size:8pt;color:#3FB555;text-decoration:underline&quot;&gt;Join me&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; From: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26523374&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jacob@...&lt;/a&gt;&lt;br&gt;&amp;gt; Date: Wed, 25 Nov 2009 21:01:06 +0100&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26523374&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;&lt;br&gt;&amp;gt; CC: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26523374&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;shashaness@...&lt;/a&gt;&lt;br&gt;&amp;gt; Subject: Re: [GtkGLExt] OpenGL widget fills entire window on OS X [was: OS X	Quartz developers...]&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; On Nov 23, 2009, at 8:21 AM, Andrey Gruzdev wrote:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt; Hello.&lt;br&gt;&amp;gt; &amp;gt; The problem with non-OpenGL widgets takes place only with new GTK versions.&lt;br&gt;&amp;gt; &amp;gt; Then I wrote this patch and test it with gtk 2.14 beta framework build and some later builds (built with jhbuild script) this problem does not appear.&lt;br&gt;&amp;gt; &amp;gt; Unfortunately I have not free time now but I hope to get it soon and spend some for this project.&lt;br&gt;&amp;gt; &amp;gt; There are no Low Level API used in my patch. Only NSOpenglView, NSOpenglContext and some related functions. &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Could it be that NSOpenGL - View/Context, gets the wrong coordinates?&lt;br&gt;&amp;gt; I don't know windowing in Cocoa but I guess there is a hierarchy of NSView and that Context needs a NSRect from&lt;br&gt;&amp;gt; the gldrawable gtk widget?&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; /Jacob&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt; Andrey.&lt;br&gt;&amp;gt; &amp;gt; &lt;br&gt;&amp;gt; &amp;gt; On 22.11.2009, at 20:27, Jack Skellington wrote:&lt;br&gt;&amp;gt; &amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt; The problem seems to be that when rendering to the OpenGL capable&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; widget it expands to fill the entire window.&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; If I resize the window the gtk widgets are visible for a split second&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; before they are covered with white background.&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; But the OpenGL rendering works fine otherwise.&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt; This is my main rendering loop:&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt; gboolean G_MODULE_EXPORT render(gpointer data){&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	GtkWidget *widget = GTK_WIDGET(data);&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 		return FALSE;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	glClearColor (1.0, 1.0, 1.0, 1.0);&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	glClearDepth (1.0);&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	engineIteration();&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	gdk_gl_drawable_swap_buffers (gldrawable);&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	gdk_gl_drawable_gl_end (gldrawable);&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 	return TRUE;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; }&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Regards&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Jacob K&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt; On Sun, Nov 22, 2009 at 11:49 AM, Jacob Juul Kolding &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26523374&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jacob@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; On Nov 21, 2009, at 6:30 AM, Braden McDaniel wrote:&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; On Sat, 2009-11-21 at 02:33 +0100, Jack Skellington wrote:&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Hi all!&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I'm currently working on porting a commercial Gtk+ OpenGL App to Snow&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Leopard using the actively developed and maintained Gtk+ OS X Quartz&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; backend. My last problem now is that GtkGlExt only works with X11. I'm&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; not familiar with the Low Level OS X API's, so I'd properly wouldn't&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; be able to write the backend myself but I think it would be awesome if&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; someone here could help with the native OS X backend, getting closer&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; to a fully supported native Gtk+ :)&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; This patch is probably a good starting point:&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;       https://sourceforge.net/tracker/?func=detail&amp;amp;aid=2750584&amp;amp;group_id=54333&amp;amp;atid=473436&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I'll try to get back to reviewing this soon; though it might have to&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; wait until I get my KVM back from RMA.&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Do let me know how it goes for you.&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I managed to apply the patch and compile both GtkGLExt and my app, but when&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I start my app&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; the main windows is complete empty of any gtk widgets (white background&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; everywhere), the only thing thats visible is the borders I draw in the&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; opengl area, but&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; when I move the mouse up the the invisible file menu I'm able to open other&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (non opengl) windows which works as expected??&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Regards&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Jacob Kolding&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26523374&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dacobi@...&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; --&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Braden McDaniel &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26523374&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;braden@...&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; _______________________________________________&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; gtkglext-list mailing list&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26523374&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; on&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what's new with&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Crystal Reports now.  http://p.sf.net/sfu/bobj-july&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; _______________________________________________&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Gtk-osx-users mailing list&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26523374&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-osx-users@...&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; https://lists.sourceforge.net/lists/listinfo/gtk-osx-users&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;gt;&amp;gt; _______________________________________________&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; gtkglext-list mailing list&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26523374&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;br&gt;&amp;gt; &amp;gt; &lt;br&gt;&amp;gt; &amp;gt; _______________________________________________&lt;br&gt;&amp;gt; &amp;gt; gtkglext-list mailing list&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26523374&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;br&gt;&amp;gt; &lt;/div&gt;&lt;/div&gt; 		 	   		  &lt;/body&gt;
&lt;/html&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26523374&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/OpenGL-widget-fills-entire-window-on-OS-X--was%3A-OS-X-Quartz-developers...--tp26467327p26523374.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26519369</id>
	<title>Re: OpenGL widget fills entire window on OS X [was: OS X Quartz developers...]</title>
	<published>2009-11-25T12:01:06Z</published>
	<updated>2009-11-25T12:01:06Z</updated>
	<author>
		<name>Jack Turner-3</name>
	</author>
	<content type="html">On Nov 23, 2009, at 8:21 AM, Andrey Gruzdev wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Hello.
&lt;br&gt;&amp;gt; The problem with non-OpenGL widgets takes place only with new GTK versions.
&lt;br&gt;&amp;gt; Then I wrote this patch and test it with gtk 2.14 beta framework build and some later builds (built with jhbuild script) this problem does not appear.
&lt;br&gt;&amp;gt; Unfortunately I have not free time now but I hope to get it soon and spend some for this project.
&lt;br&gt;&amp;gt; There are no Low Level API used in my patch. Only NSOpenglView, NSOpenglContext and some related functions. 
&lt;br&gt;&lt;br&gt;Could it be that NSOpenGL - View/Context, gets the wrong coordinates?
&lt;br&gt;I don't know windowing in Cocoa but I guess there is a hierarchy of NSView and that Context needs a NSRect from
&lt;br&gt;the gldrawable gtk widget?
&lt;br&gt;&lt;br&gt;/Jacob
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Andrey.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On 22.11.2009, at 20:27, Jack Skellington wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; The problem seems to be that when rendering to the OpenGL capable
&lt;br&gt;&amp;gt;&amp;gt; widget it expands to fill the entire window.
&lt;br&gt;&amp;gt;&amp;gt; If I resize the window the gtk widgets are visible for a split second
&lt;br&gt;&amp;gt;&amp;gt; before they are covered with white background.
&lt;br&gt;&amp;gt;&amp;gt; But the OpenGL rendering works fine otherwise.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; This is my main rendering loop:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; gboolean G_MODULE_EXPORT render(gpointer data){
&lt;br&gt;&amp;gt;&amp;gt; 	
&lt;br&gt;&amp;gt;&amp;gt; 	GtkWidget *widget = GTK_WIDGET(data);
&lt;br&gt;&amp;gt;&amp;gt; 	
&lt;br&gt;&amp;gt;&amp;gt; 	GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
&lt;br&gt;&amp;gt;&amp;gt; 	GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
&lt;br&gt;&amp;gt;&amp;gt; 	
&lt;br&gt;&amp;gt;&amp;gt; 	if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))
&lt;br&gt;&amp;gt;&amp;gt; 		return FALSE;
&lt;br&gt;&amp;gt;&amp;gt; 	
&lt;br&gt;&amp;gt;&amp;gt; 	
&lt;br&gt;&amp;gt;&amp;gt; 	glClearColor (1.0, 1.0, 1.0, 1.0);
&lt;br&gt;&amp;gt;&amp;gt; 	glClearDepth (1.0);
&lt;br&gt;&amp;gt;&amp;gt; 	glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
&lt;br&gt;&amp;gt;&amp;gt; 	
&lt;br&gt;&amp;gt;&amp;gt; 	engineIteration();
&lt;br&gt;&amp;gt;&amp;gt; 	
&lt;br&gt;&amp;gt;&amp;gt; 	gdk_gl_drawable_swap_buffers (gldrawable);
&lt;br&gt;&amp;gt;&amp;gt; 	
&lt;br&gt;&amp;gt;&amp;gt; 	gdk_gl_drawable_gl_end (gldrawable);
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 	return TRUE;
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Regards
&lt;br&gt;&amp;gt;&amp;gt; Jacob K
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; On Sun, Nov 22, 2009 at 11:49 AM, Jacob Juul Kolding &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26519369&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jacob@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Nov 21, 2009, at 6:30 AM, Braden McDaniel wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Sat, 2009-11-21 at 02:33 +0100, Jack Skellington wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi all!
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I'm currently working on porting a commercial Gtk+ OpenGL App to Snow
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Leopard using the actively developed and maintained Gtk+ OS X Quartz
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; backend. My last problem now is that GtkGlExt only works with X11. I'm
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; not familiar with the Low Level OS X API's, so I'd properly wouldn't
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; be able to write the backend myself but I think it would be awesome if
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; someone here could help with the native OS X backend, getting closer
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; to a fully supported native Gtk+ :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; This patch is probably a good starting point:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;https://sourceforge.net/tracker/?func=detail&amp;aid=2750584&amp;group_id=54333&amp;atid=473436&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://sourceforge.net/tracker/?func=detail&amp;aid=2750584&amp;group_id=54333&amp;atid=473436&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I'll try to get back to reviewing this soon; though it might have to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; wait until I get my KVM back from RMA.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Do let me know how it goes for you.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I managed to apply the patch and compile both GtkGLExt and my app, but when
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I start my app
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the main windows is complete empty of any gtk widgets (white background
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; everywhere), the only thing thats visible is the borders I draw in the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; opengl area, but
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; when I move the mouse up the the invisible file menu I'm able to open other
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (non opengl) windows which works as expected??
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Regards
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jacob Kolding
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26519369&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dacobi@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Braden McDaniel &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26519369&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;braden@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; gtkglext-list mailing list
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26519369&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; on
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Gtk-osx-users mailing list
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26519369&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-osx-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gtk-osx-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gtk-osx-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; gtkglext-list mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26519369&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; gtkglext-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26519369&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26519369&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;smime.p7s&lt;/strong&gt; (2K) &lt;a href=&quot;http://old.nabble.com/attachment/26519369/0/smime.p7s&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/OpenGL-widget-fills-entire-window-on-OS-X--was%3A-OS-X-Quartz-developers...--tp26467327p26519369.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26518035</id>
	<title>Re: [Gtk-osx-users] OS X Quartz developers Call to Arms</title>
	<published>2009-11-25T10:35:47Z</published>
	<updated>2009-11-25T10:35:47Z</updated>
	<author>
		<name>Jack Turner-3</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;base href=&quot;x-msg://24/&quot;&gt;&lt;/head&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; &quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium; &quot;&gt;On Nov 23, 2009, at 5:35 PM, Shawn Bakhtiar wrote:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div class=&quot;hmmessage&quot; style=&quot;font-size: 10pt; font-family: Verdana; &quot;&gt;Cool... did not even know there was a list for gtkglext.&amp;nbsp;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I actually have some need of this. Just don't have time to work it, &amp;nbsp;not sure if I have the know how either.. I am swamped with other work.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I myself do not have a good grasp of the Next Step Windowing system, but it looks like the implementation uses the NSView (check in gdkglwindow-quartz.h) instead of&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 10pt; &quot;&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;the&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 10pt; &quot;&gt;NSOpenGLView, which means (given the dates on the patch) that some of this needs to be changed before it will work.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre; &quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre; &quot;&gt;I bet you if you just change these lines to use the new NSOpenGLView it may indeed work &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre; &quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre; &quot;&gt;gdk/quartz/gdkglcontext-quartz.c:294:	NSView *quartzView;
gdk/quartz/gdkglcontext-quartz.c:325:		 name: NSViewFrameDidChangeNotification 
gdk/quartz/gdkglwindow-quartz.c:127:	NSView *quartzView;
gdk/quartz/gdkglwindow-quartz.c:184:	NSView			*view = GDK_GL_WINDOW_IMPL_QUARTZ (draw)-&amp;gt;quartzView;
gdk/quartz/gdkglwindow-quartz.h:23:		NSView				*quartzView;
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 12px; &quot;&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I've tried changing to NSOpenGLView, but it doesn't seem to have any effect.&lt;/div&gt;&lt;div&gt;My app behaves the same way after re-linking and&lt;/div&gt;&lt;div&gt;grep'ing the lib still shows only NSView and NSOpenGLContext. (this is after a completely clean patch/build/install)&lt;/div&gt;&lt;div&gt;Maybe it has something to do with gtkglext compiling against SDK 10.5?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Regards&lt;/div&gt;&lt;div&gt;Jacob Kolding&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518035&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dacobi@...&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/span&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div class=&quot;hmmessage&quot; style=&quot;font-size: 10pt; font-family: Verdana; &quot;&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;Helvetica&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 12px; line-height: normal; white-space: normal;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;table style=&quot;border-top-width: 1px; border-top-style: solid; border-top-color: black; font-weight: bold; font-family: 'Segoe UI', Tahoma, san-serif; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://im.live.com/Messenger/IM/Home/?source=EML_WLHM_GreaterGood&quot; style=&quot;font-size: 9pt; color: rgb(1, 132, 203); text-decoration: none; &quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://gfx1.hotmail.com/mail/w4/pr01/ltr/i_charity.gif&quot; alt=&quot;i'm&quot; style=&quot;border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; &quot;&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;EMAILING FOR THE GREATER GOOD&lt;br&gt;&lt;span style=&quot;padding-top: 0px; padding-right: 24px; padding-bottom: 0px; padding-left: 24px; font-size: 8pt; color: rgb(63, 181, 85); text-decoration: underline; &quot;&gt;Join me&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;br&gt;&lt;hr id=&quot;stopSpelling&quot;&gt;From:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518035&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jacob@...&lt;/a&gt;&lt;br&gt;Date: Sun, 22 Nov 2009 11:49:44 +0100&lt;br&gt;To:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518035&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;braden@...&lt;/a&gt;&lt;br&gt;CC:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518035&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-devel-list@...&lt;/a&gt;;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518035&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518035&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-osx-users@...&lt;/a&gt;&lt;br&gt;Subject: Re: [Gtk-osx-users] [GtkGLExt] OS X Quartz developers Call to Arms&lt;br&gt;&lt;br&gt;&lt;div&gt;&lt;span class=&quot;ecxApple-style-span&quot; style=&quot;border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; &quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;ecxApple-style-span&quot; style=&quot;font-size: medium; &quot;&gt;On Nov 21, 2009, at 6:30 AM, Braden McDaniel wrote:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br class=&quot;ecxApple-interchange-newline&quot;&gt;&lt;blockquote&gt;&lt;div&gt;On Sat, 2009-11-21 at 02:33 +0100, Jack Skellington wrote:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br&gt;&lt;blockquote&gt;Hi all!&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;I'm currently working on porting a commercial Gtk+ OpenGL App to Snow&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;Leopard using the actively developed and maintained Gtk+ OS X Quartz&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;backend. My last problem now is that GtkGlExt only works with X11. I'm&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;not familiar with the Low Level OS X API's, so I'd properly wouldn't&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;be able to write the backend myself but I think it would be awesome if&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;someone here could help with the native OS X backend, getting closer&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;to a fully supported native Gtk+ :)&lt;br&gt;&lt;/blockquote&gt;&lt;br&gt;This patch is probably a good starting point:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://sourceforge.net/tracker/?func=detail&amp;amp;aid=2750584&amp;amp;group_id=54333&amp;amp;atid=473436&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://sourceforge.net/tracker/?func=detail&amp;amp;aid=2750584&amp;amp;group_id=54333&amp;amp;atid=473436&lt;/a&gt;&lt;br&gt;&lt;br&gt;I'll try to get back to reviewing this soon; though it might have to&lt;br&gt;wait until I get my KVM back from RMA.&lt;br&gt;&lt;br&gt;Do let me know how it goes for you.&lt;br&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I managed to apply the patch and compile both GtkGLExt and my app, but when I start my app&lt;/div&gt;&lt;div&gt;the main windows is complete empty of any gtk widgets (white background everywhere), the only thing thats visible is the borders I draw in the opengl area, but&lt;/div&gt;&lt;div&gt;when I move the mouse up the the invisible file menu I'm able to open other (non opengl) windows which works as expected??&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Regards&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class=&quot;ecxApple-style-span&quot; style=&quot;font-weight: normal; font-size: 12px; &quot;&gt;&lt;div&gt;Jacob Kolding&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518035&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dacobi@...&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br&gt;&lt;blockquote&gt;&lt;div&gt;--&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br&gt;Braden McDaniel &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518035&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;braden@...&lt;/a&gt;&amp;gt;&lt;br&gt;&lt;br&gt;_______________________________________________&lt;br&gt;gtkglext-list mailing list&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518035&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;_______________________________________________&lt;br&gt;gtkglext-list mailing list&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518035&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/body&gt;&lt;/html&gt;&lt;br /&gt; &lt;br /&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518035&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;smime.p7s&lt;/strong&gt; (2K) &lt;a href=&quot;http://old.nabble.com/attachment/26518035/0/smime.p7s&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/OS-X-Quartz-developers-Call-to-Arms-tp26452908p26518035.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26481514</id>
	<title>Re: [Gtk-osx-users] OS X Quartz developers Call to Arms</title>
	<published>2009-11-23T08:35:18Z</published>
	<updated>2009-11-23T08:35:18Z</updated>
	<author>
		<name>sbaka</name>
	</author>
	<content type="html">&lt;html&gt;
&lt;head&gt;

&lt;/head&gt;
&lt;body class='hmmessage'&gt;
Cool... did not even know there was a list for gtkglext.&amp;nbsp;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I actually have some need of this. Just don't have time to work it, &amp;nbsp;not sure if I have the know how either.. I am swamped with other work.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I myself do not have a good grasp of the Next Step Windowing system, but it looks like the implementation uses the NSView (check in gdkglwindow-quartz.h) instead of&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 10pt; &quot;&gt; the&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 10pt; &quot;&gt;NSOpenGLView, which means (given the dates on the patch) that some of this needs to be changed before it will work.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre;&quot;&gt;I bet you if you just change these lines to use the new NSOpenGLView it may indeed work &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre;&quot;&gt;gdk/quartz/gdkglcontext-quartz.c:294:	NSView *quartzView;
gdk/quartz/gdkglcontext-quartz.c:325:		 name: NSViewFrameDidChangeNotification 
gdk/quartz/gdkglwindow-quartz.c:127:	NSView *quartzView;
gdk/quartz/gdkglwindow-quartz.c:184:	NSView			*view = GDK_GL_WINDOW_IMPL_QUARTZ (draw)-&amp;gt;quartzView;
gdk/quartz/gdkglwindow-quartz.h:23:		NSView				*quartzView;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px; white-space: pre; &quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;table style=&quot;border-top:1px solid black;font-weight:bold;font-family:'Segoe UI',Tahoma,san-serif&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://im.live.com/Messenger/IM/Home/?source=EML_WLHM_GreaterGood&quot; style=&quot;font-size:9pt;color:#0184CB;text-decoration:none&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;img style=&quot;border-style:none&quot; src=&quot;http://gfx1.hotmail.com/mail/w4/pr01/ltr/i_charity.gif&quot; alt=&quot;i'm&quot;&gt; EMAILING FOR THE GREATER GOOD&lt;br&gt;&lt;span style=&quot;padding:0px 24px;font-size:8pt;color:#3FB555;text-decoration:underline&quot;&gt;Join me&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;br&gt;&lt;hr id=&quot;stopSpelling&quot;&gt;From: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26481514&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jacob@...&lt;/a&gt;&lt;br&gt;Date: Sun, 22 Nov 2009 11:49:44 +0100&lt;br&gt;To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26481514&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;braden@...&lt;/a&gt;&lt;br&gt;CC: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26481514&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-devel-list@...&lt;/a&gt;; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26481514&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26481514&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-osx-users@...&lt;/a&gt;&lt;br&gt;Subject: Re: [Gtk-osx-users] [GtkGLExt] OS X Quartz developers Call to Arms&lt;br&gt;&lt;br&gt;

&lt;div&gt;&lt;span class=&quot;ecxApple-style-span&quot; style=&quot;border-collapse:separate;color:rgb(0, 0, 0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;ecxApple-style-span&quot; style=&quot;font-size:medium&quot;&gt;On Nov 21, 2009, at 6:30 AM, Braden McDaniel wrote:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br class=&quot;ecxApple-interchange-newline&quot;&gt;&lt;blockquote&gt;&lt;div&gt;On Sat, 2009-11-21 at 02:33 +0100, Jack Skellington wrote: &lt;br&gt;&lt;blockquote&gt;Hi all!&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;I'm currently working on porting a commercial Gtk+ OpenGL App to Snow&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;Leopard using the actively developed and maintained Gtk+ OS X Quartz&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;backend. My last problem now is that GtkGlExt only works with X11. I'm&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;not familiar with the Low Level OS X API's, so I'd properly wouldn't&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;be able to write the backend myself but I think it would be awesome if&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;someone here could help with the native OS X backend, getting closer&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;to a fully supported native Gtk+ :)&lt;br&gt;&lt;/blockquote&gt;&lt;br&gt;This patch is probably a good starting point:&lt;br&gt;&lt;br&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://sourceforge.net/tracker/?func=detail&amp;amp;aid=2750584&amp;amp;group_id=54333&amp;amp;atid=473436&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://sourceforge.net/tracker/?func=detail&amp;amp;aid=2750584&amp;amp;group_id=54333&amp;amp;atid=473436&lt;/a&gt;&lt;br&gt;&lt;br&gt;I'll try to get back to reviewing this soon; though it might have to&lt;br&gt;wait until I get my KVM back from RMA.&lt;br&gt;&lt;br&gt;Do let me know how it goes for you.&lt;br&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I managed to apply the patch and compile both GtkGLExt and my app, but when I start my app&lt;/div&gt;&lt;div&gt;the main windows is complete empty of any gtk widgets (white background everywhere), the only thing thats visible is the borders I draw in the opengl area, but&lt;/div&gt;&lt;div&gt;when I move the mouse up the the invisible file menu I'm able to open other (non opengl) windows which works as expected??&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Regards&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class=&quot;ecxApple-style-span&quot; style=&quot;font-weight:normal;font-size:12px&quot;&gt;&lt;div&gt;Jacob Kolding&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26481514&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dacobi@...&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br&gt;&lt;blockquote&gt;&lt;div&gt;-- &lt;br&gt;Braden McDaniel &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26481514&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;braden@...&lt;/a&gt;&amp;gt;&lt;br&gt;&lt;br&gt;_______________________________________________&lt;br&gt;gtkglext-list mailing list&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26481514&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;&lt;br&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;br&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt; 		 	   		  &lt;/body&gt;
&lt;/html&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26481514&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/OS-X-Quartz-developers-Call-to-Arms-tp26452908p26481514.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26473634</id>
	<title>Re: OpenGL widget fills entire window on OS X [was: OS X Quartz developers...]</title>
	<published>2009-11-22T23:21:12Z</published>
	<updated>2009-11-22T23:21:12Z</updated>
	<author>
		<name>Andrey Gruzdev</name>
	</author>
	<content type="html">Hello.
&lt;br&gt;The problem with non-OpenGL widgets takes place only with new GTK versions.
&lt;br&gt;Then I wrote this patch and test it with gtk 2.14 beta framework build and some later builds (built with jhbuild script) this problem does not appear.
&lt;br&gt;Unfortunately I have not free time now but I hope to get it soon and spend some for this project.
&lt;br&gt;There are no Low Level API used in my patch. Only NSOpenglView, NSOpenglContext and some related functions. 
&lt;br&gt;&lt;br&gt;Andrey.
&lt;br&gt;&lt;br&gt;On 22.11.2009, at 20:27, Jack Skellington wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; The problem seems to be that when rendering to the OpenGL capable
&lt;br&gt;&amp;gt; widget it expands to fill the entire window.
&lt;br&gt;&amp;gt; If I resize the window the gtk widgets are visible for a split second
&lt;br&gt;&amp;gt; before they are covered with white background.
&lt;br&gt;&amp;gt; But the OpenGL rendering works fine otherwise.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This is my main rendering loop:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; gboolean G_MODULE_EXPORT render(gpointer data){
&lt;br&gt;&amp;gt; 	
&lt;br&gt;&amp;gt; 	GtkWidget *widget = GTK_WIDGET(data);
&lt;br&gt;&amp;gt; 	
&lt;br&gt;&amp;gt; 	GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
&lt;br&gt;&amp;gt; 	GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
&lt;br&gt;&amp;gt; 	
&lt;br&gt;&amp;gt; 	if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))
&lt;br&gt;&amp;gt; 		return FALSE;
&lt;br&gt;&amp;gt; 	
&lt;br&gt;&amp;gt; 	
&lt;br&gt;&amp;gt; 	glClearColor (1.0, 1.0, 1.0, 1.0);
&lt;br&gt;&amp;gt; 	glClearDepth (1.0);
&lt;br&gt;&amp;gt; 	glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
&lt;br&gt;&amp;gt; 	
&lt;br&gt;&amp;gt; 	engineIteration();
&lt;br&gt;&amp;gt; 	
&lt;br&gt;&amp;gt; 	gdk_gl_drawable_swap_buffers (gldrawable);
&lt;br&gt;&amp;gt; 	
&lt;br&gt;&amp;gt; 	gdk_gl_drawable_gl_end (gldrawable);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	return TRUE;
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Regards
&lt;br&gt;&amp;gt; Jacob K
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Sun, Nov 22, 2009 at 11:49 AM, Jacob Juul Kolding &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26473634&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jacob@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; On Nov 21, 2009, at 6:30 AM, Braden McDaniel wrote:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; On Sat, 2009-11-21 at 02:33 +0100, Jack Skellington wrote:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Hi all!
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I'm currently working on porting a commercial Gtk+ OpenGL App to Snow
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Leopard using the actively developed and maintained Gtk+ OS X Quartz
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; backend. My last problem now is that GtkGlExt only works with X11. I'm
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; not familiar with the Low Level OS X API's, so I'd properly wouldn't
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; be able to write the backend myself but I think it would be awesome if
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; someone here could help with the native OS X backend, getting closer
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; to a fully supported native Gtk+ :)
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; This patch is probably a good starting point:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;https://sourceforge.net/tracker/?func=detail&amp;aid=2750584&amp;group_id=54333&amp;atid=473436&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://sourceforge.net/tracker/?func=detail&amp;aid=2750584&amp;group_id=54333&amp;atid=473436&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I'll try to get back to reviewing this soon; though it might have to
&lt;br&gt;&amp;gt;&amp;gt; wait until I get my KVM back from RMA.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Do let me know how it goes for you.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I managed to apply the patch and compile both GtkGLExt and my app, but when
&lt;br&gt;&amp;gt;&amp;gt; I start my app
&lt;br&gt;&amp;gt;&amp;gt; the main windows is complete empty of any gtk widgets (white background
&lt;br&gt;&amp;gt;&amp;gt; everywhere), the only thing thats visible is the borders I draw in the
&lt;br&gt;&amp;gt;&amp;gt; opengl area, but
&lt;br&gt;&amp;gt;&amp;gt; when I move the mouse up the the invisible file menu I'm able to open other
&lt;br&gt;&amp;gt;&amp;gt; (non opengl) windows which works as expected??
&lt;br&gt;&amp;gt;&amp;gt; Regards
&lt;br&gt;&amp;gt;&amp;gt; Jacob Kolding
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26473634&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dacobi@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; Braden McDaniel &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26473634&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;braden@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; gtkglext-list mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26473634&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
&lt;br&gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus
&lt;br&gt;&amp;gt;&amp;gt; on
&lt;br&gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; Gtk-osx-users mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26473634&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-osx-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gtk-osx-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gtk-osx-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; gtkglext-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26473634&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26473634&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/OpenGL-widget-fills-entire-window-on-OS-X--was%3A-OS-X-Quartz-developers...--tp26467327p26473634.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26467327</id>
	<title>OpenGL widget fills entire window on OS X [was: OS X Quartz developers...]</title>
	<published>2009-11-22T09:27:01Z</published>
	<updated>2009-11-22T09:27:01Z</updated>
	<author>
		<name>Jacob Ole Juul Kolding</name>
	</author>
	<content type="html">The problem seems to be that when rendering to the OpenGL capable
&lt;br&gt;widget it expands to fill the entire window.
&lt;br&gt;If I resize the window the gtk widgets are visible for a split second
&lt;br&gt;before they are covered with white background.
&lt;br&gt;But the OpenGL rendering works fine otherwise.
&lt;br&gt;&lt;br&gt;This is my main rendering loop:
&lt;br&gt;&lt;br&gt;gboolean G_MODULE_EXPORT render(gpointer data){
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GtkWidget *widget = GTK_WIDGET(data);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return FALSE;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; glClearColor (1.0, 1.0, 1.0, 1.0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; glClearDepth (1.0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; engineIteration();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gdk_gl_drawable_swap_buffers (gldrawable);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gdk_gl_drawable_gl_end (gldrawable);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return TRUE;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;Regards
&lt;br&gt;Jacob K
&lt;br&gt;&lt;br&gt;On Sun, Nov 22, 2009 at 11:49 AM, Jacob Juul Kolding &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467327&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jacob@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Nov 21, 2009, at 6:30 AM, Braden McDaniel wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Sat, 2009-11-21 at 02:33 +0100, Jack Skellington wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi all!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm currently working on porting a commercial Gtk+ OpenGL App to Snow
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Leopard using the actively developed and maintained Gtk+ OS X Quartz
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; backend. My last problem now is that GtkGlExt only works with X11. I'm
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; not familiar with the Low Level OS X API's, so I'd properly wouldn't
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; be able to write the backend myself but I think it would be awesome if
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; someone here could help with the native OS X backend, getting closer
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; to a fully supported native Gtk+ :)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This patch is probably a good starting point:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;        &lt;a href=&quot;https://sourceforge.net/tracker/?func=detail&amp;aid=2750584&amp;group_id=54333&amp;atid=473436&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://sourceforge.net/tracker/?func=detail&amp;aid=2750584&amp;group_id=54333&amp;atid=473436&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'll try to get back to reviewing this soon; though it might have to
&lt;br&gt;&amp;gt; wait until I get my KVM back from RMA.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Do let me know how it goes for you.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I managed to apply the patch and compile both GtkGLExt and my app, but when
&lt;br&gt;&amp;gt; I start my app
&lt;br&gt;&amp;gt; the main windows is complete empty of any gtk widgets (white background
&lt;br&gt;&amp;gt; everywhere), the only thing thats visible is the borders I draw in the
&lt;br&gt;&amp;gt; opengl area, but
&lt;br&gt;&amp;gt; when I move the mouse up the the invisible file menu I'm able to open other
&lt;br&gt;&amp;gt; (non opengl) windows which works as expected??
&lt;br&gt;&amp;gt; Regards
&lt;br&gt;&amp;gt; Jacob Kolding
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467327&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dacobi@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Braden McDaniel &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467327&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;braden@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; gtkglext-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467327&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus
&lt;br&gt;&amp;gt; on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Gtk-osx-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467327&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-osx-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gtk-osx-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gtk-osx-users&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467327&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/OpenGL-widget-fills-entire-window-on-OS-X--was%3A-OS-X-Quartz-developers...--tp26467327p26467327.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26464437</id>
	<title>Re: OS X Quartz developers Call to Arms</title>
	<published>2009-11-22T02:49:44Z</published>
	<updated>2009-11-22T02:49:44Z</updated>
	<author>
		<name>Jack Turner-3</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;&lt;div style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: separate; font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; &quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium; &quot;&gt;On Nov 21, 2009, at 6:30 AM, Braden McDaniel wrote:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div&gt;On Sat, 2009-11-21 at 02:33 +0100, Jack Skellington wrote: &lt;br&gt;&lt;blockquote type=&quot;cite&quot;&gt;Hi all!&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote type=&quot;cite&quot;&gt;I'm currently working on porting a commercial Gtk+ OpenGL App to Snow&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote type=&quot;cite&quot;&gt;Leopard using the actively developed and maintained Gtk+ OS X Quartz&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote type=&quot;cite&quot;&gt;backend. My last problem now is that GtkGlExt only works with X11. I'm&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote type=&quot;cite&quot;&gt;not familiar with the Low Level OS X API's, so I'd properly wouldn't&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote type=&quot;cite&quot;&gt;be able to write the backend myself but I think it would be awesome if&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote type=&quot;cite&quot;&gt;someone here could help with the native OS X backend, getting closer&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote type=&quot;cite&quot;&gt;to a fully supported native Gtk+ :)&lt;br&gt;&lt;/blockquote&gt;&lt;br&gt;This patch is probably a good starting point:&lt;br&gt;&lt;br&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://sourceforge.net/tracker/?func=detail&amp;amp;aid=2750584&amp;amp;group_id=54333&amp;amp;atid=473436&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://sourceforge.net/tracker/?func=detail&amp;amp;aid=2750584&amp;amp;group_id=54333&amp;amp;atid=473436&lt;/a&gt;&lt;br&gt;&lt;br&gt;I'll try to get back to reviewing this soon; though it might have to&lt;br&gt;wait until I get my KVM back from RMA.&lt;br&gt;&lt;br&gt;Do let me know how it goes for you.&lt;br&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I managed to apply the patch and compile both GtkGLExt and my app, but when I start my app&lt;/div&gt;&lt;div&gt;the main windows is complete empty of any gtk widgets (white background everywhere), the only thing thats visible is the borders I draw in the opengl area, but&lt;/div&gt;&lt;div&gt;when I move the mouse up the the invisible file menu I'm able to open other (non opengl) windows which works as expected??&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Regards&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; font-size: 12px; &quot;&gt;&lt;div&gt;Jacob Kolding&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26464437&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dacobi@...&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div&gt;-- &lt;br&gt;Braden McDaniel &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26464437&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;braden@...&lt;/a&gt;&amp;gt;&lt;br&gt;&lt;br&gt;_______________________________________________&lt;br&gt;gtkglext-list mailing list&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26464437&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;&lt;br /&gt; &lt;br /&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26464437&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;smime.p7s&lt;/strong&gt; (2K) &lt;a href=&quot;http://old.nabble.com/attachment/26464437/0/smime.p7s&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/OS-X-Quartz-developers-Call-to-Arms-tp26452908p26464437.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26453974</id>
	<title>Re: OS X Quartz developers Call to Arms</title>
	<published>2009-11-20T21:30:05Z</published>
	<updated>2009-11-20T21:30:05Z</updated>
	<author>
		<name>Braden McDaniel</name>
	</author>
	<content type="html">On Sat, 2009-11-21 at 02:33 +0100, Jack Skellington wrote: 
&lt;br&gt;&amp;gt; Hi all!
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'm currently working on porting a commercial Gtk+ OpenGL App to Snow
&lt;br&gt;&amp;gt; Leopard using the actively developed and maintained Gtk+ OS X Quartz
&lt;br&gt;&amp;gt; backend. My last problem now is that GtkGlExt only works with X11. I'm
&lt;br&gt;&amp;gt; not familiar with the Low Level OS X API's, so I'd properly wouldn't
&lt;br&gt;&amp;gt; be able to write the backend myself but I think it would be awesome if
&lt;br&gt;&amp;gt; someone here could help with the native OS X backend, getting closer
&lt;br&gt;&amp;gt; to a fully supported native Gtk+ :)
&lt;br&gt;&lt;br&gt;This patch is probably a good starting point:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;https://sourceforge.net/tracker/?func=detail&amp;aid=2750584&amp;group_id=54333&amp;atid=473436&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://sourceforge.net/tracker/?func=detail&amp;aid=2750584&amp;group_id=54333&amp;atid=473436&lt;/a&gt;&lt;br&gt;&lt;br&gt;I'll try to get back to reviewing this soon; though it might have to
&lt;br&gt;wait until I get my KVM back from RMA.
&lt;br&gt;&lt;br&gt;Do let me know how it goes for you.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Braden McDaniel &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26453974&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;braden@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26453974&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/OS-X-Quartz-developers-Call-to-Arms-tp26452908p26453974.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26452908</id>
	<title>OS X Quartz developers Call to Arms</title>
	<published>2009-11-20T17:33:36Z</published>
	<updated>2009-11-20T17:33:36Z</updated>
	<author>
		<name>Jacob Ole Juul Kolding</name>
	</author>
	<content type="html">Hi all!
&lt;br&gt;&lt;br&gt;I'm currently working on porting a commercial Gtk+ OpenGL App to Snow
&lt;br&gt;Leopard using the actively developed and maintained Gtk+ OS X Quartz
&lt;br&gt;backend. My last problem now is that GtkGlExt only works with X11. I'm
&lt;br&gt;not familiar with the Low Level OS X API's, so I'd properly wouldn't
&lt;br&gt;be able to write the backend myself but I think it would be awesome if
&lt;br&gt;someone here could help with the native OS X backend, getting closer
&lt;br&gt;to a fully supported native Gtk+ :)
&lt;br&gt;&lt;br&gt;Regards
&lt;br&gt;Jacob Juul Kolding
&lt;br&gt;Juvul Tech
&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26452908&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/OS-X-Quartz-developers-Call-to-Arms-tp26452908p26452908.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25963219</id>
	<title>Repositories on git.gnome.org</title>
	<published>2009-10-19T11:27:27Z</published>
	<updated>2009-10-19T11:27:27Z</updated>
	<author>
		<name>Mukund Sivaraman</name>
	</author>
	<content type="html">On Wed, Oct 14, 2009 at 03:30:37PM +0530, Mukund Sivaraman wrote:
&lt;br&gt;&amp;gt; 1. It is possible for a committer to create new git.gnome.org
&lt;br&gt;&amp;gt; repositories automatically without any 3rd party (human) involvement. 
&lt;br&gt;&amp;gt; [Btw, we should create separate repositories for gtkglext, gtkglextmm,
&lt;br&gt;&amp;gt; etc. &amp;nbsp;due to the way the code and history are organized.]
&lt;br&gt;&lt;br&gt;The following git repositories are now available:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://git.gnome.org/cgit/gtkglext/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://git.gnome.org/cgit/gtkglext/&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://git.gnome.org/cgit/gtkglext-sharp/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://git.gnome.org/cgit/gtkglext-sharp/&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://git.gnome.org/cgit/gtkglextmm/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://git.gnome.org/cgit/gtkglextmm/&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://git.gnome.org/cgit/pygtkglext/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://git.gnome.org/cgit/pygtkglext/&lt;/a&gt;&lt;br&gt;&lt;br&gt;Please let's use these from now on. I'll push my patches soon. I have
&lt;br&gt;to rebase them against the new gtkglext tree as they are currently
&lt;br&gt;against where Naofumi left off.
&lt;br&gt;&lt;br&gt;Ralf: If you do not have a GNOME committer account, we'll get one for
&lt;br&gt;you. &amp;nbsp;Have you applied for one, and do you have a request tracker
&lt;br&gt;number for it?
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Mukund
&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25963219&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/My-GtkGLExt-updates-and-request-to-take-maintainership-tp25880169p25963219.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25888319</id>
	<title>Re: My GtkGLExt updates and request to take	maintainership</title>
	<published>2009-10-14T03:00:37Z</published>
	<updated>2009-10-14T03:00:37Z</updated>
	<author>
		<name>Mukund Sivaraman</name>
	</author>
	<content type="html">On Wed, Oct 14, 2009 at 05:42:03AM +0200, Ralf Corsepius wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On 10/14/2009 12:17 AM, Braden McDaniel wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; We've actually been trying to migrate the project to gnome.org for more
&lt;br&gt;&amp;gt;&amp;gt; than a year. This has been a bit of a fiasco. Some of the delays in
&lt;br&gt;&amp;gt;&amp;gt; responsiveness were on our end; but most of them weren't. Things petered
&lt;br&gt;&amp;gt;&amp;gt; out some months ago after repeated attempts to get Ralf Corsepius a
&lt;br&gt;&amp;gt;&amp;gt; gnome.org account were met with no response. Assuming Ralf wishes to
&lt;br&gt;&amp;gt;&amp;gt; remain attached to this project
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I do. However, the way gnome.org processed our attempt to move the &amp;nbsp;
&lt;br&gt;&amp;gt; project to gnome.org has caused my interest in further pursuing a mover &amp;nbsp;
&lt;br&gt;&amp;gt; of gtkglext to gnome.org to a minimum.
&lt;/div&gt;&lt;br&gt;Let's see what needs to be done to move it to gnome.org:
&lt;br&gt;&lt;br&gt;1. It is possible for a committer to create new git.gnome.org
&lt;br&gt;repositories automatically without any 3rd party (human) involvement. 
&lt;br&gt;[Btw, we should create separate repositories for gtkglext, gtkglextmm,
&lt;br&gt;etc. &amp;nbsp;due to the way the code and history are organized.]
&lt;br&gt;&lt;br&gt;2. There is a bugzilla.gnome.org component for GtkGLExt already.
&lt;br&gt;&lt;br&gt;3. There is this mailing list.
&lt;br&gt;&lt;br&gt;What remains are accounts to commit to the repository. I have one. Do
&lt;br&gt;you and Braden have accounts too?
&lt;br&gt;&lt;br&gt;Ralf: If you're still waiting for an account, we'll create this
&lt;br&gt;repository and I'll see to it that you get your account after that. 
&lt;br&gt;You can not only commit to GtkGLExt, but any of the hundred odd GNOME
&lt;br&gt;projects after that (assuming your patches are reviewed and accepted by
&lt;br&gt;maintainers of that project, of course :).
&lt;br&gt;&lt;br&gt;Until you get the account, you can have GtkGLExt patches from you
&lt;br&gt;committed by any gnome.org committer (git separates the concept of
&lt;br&gt;author and committer, so the patches are committed in your name to the
&lt;br&gt;repo).
&lt;br&gt;&lt;br&gt;GtkGLExt is a GTK+ related project which is considered for inclusion
&lt;br&gt;into GTK+ someday (Project Ridley or not). &amp;nbsp;It belongs at gnome.org. 
&lt;br&gt;You have several more GNOME developers looking at it, and readily able
&lt;br&gt;to commit to it.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Mukund
&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25888319&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/My-GtkGLExt-updates-and-request-to-take-maintainership-tp25880169p25888319.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25884898</id>
	<title>Re: My GtkGLExt updates and request to take	maintainership</title>
	<published>2009-10-13T20:42:03Z</published>
	<updated>2009-10-13T20:42:03Z</updated>
	<author>
		<name>Ralf Corsepius</name>
	</author>
	<content type="html">On 10/14/2009 12:17 AM, Braden McDaniel wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; We've actually been trying to migrate the project to gnome.org for more
&lt;br&gt;&amp;gt; than a year. This has been a bit of a fiasco. Some of the delays in
&lt;br&gt;&amp;gt; responsiveness were on our end; but most of them weren't. Things petered
&lt;br&gt;&amp;gt; out some months ago after repeated attempts to get Ralf Corsepius a
&lt;br&gt;&amp;gt; gnome.org account were met with no response. Assuming Ralf wishes to
&lt;br&gt;&amp;gt; remain attached to this project
&lt;br&gt;&lt;br&gt;I do. However, the way gnome.org processed our attempt to move the 
&lt;br&gt;project to gnome.org has caused my interest in further pursuing a mover 
&lt;br&gt;of gtkglext to gnome.org to a minimum.
&lt;br&gt;&lt;br&gt;&amp;gt; and assuming the idea of moving to
&lt;br&gt;&amp;gt; gnome.org isn't met with complete derision by the current comaintainers,
&lt;br&gt;&amp;gt; that is the first problem that would need solving.
&lt;br&gt;I regret having to say so, but provided the way gnome.org processed our 
&lt;br&gt;attempt to move the project to gnome.org, I am not sure further pursuing 
&lt;br&gt;a mover of gtkglext to gnome.org is a good idea.
&lt;br&gt;&lt;br&gt;&amp;gt; For my part, I see migration to gnome.org as something of an
&lt;br&gt;&amp;gt; inevitability because I see this project's future (if it has one at all)
&lt;br&gt;&amp;gt; as including absorption into GTK+ proper in some form. I think moving to
&lt;br&gt;&amp;gt; gnome.org raises this project's visibility among GNOME developers and
&lt;br&gt;&amp;gt; hopefully facilitates realization of that future.
&lt;br&gt;Well, only if gnome.org changes their attitude. Otherwise gtkglext is 
&lt;br&gt;likely better off staying with sourceforge or with moving to another site.
&lt;br&gt;&lt;br&gt;&amp;gt; So I'm the easy sell. But you may need to convince folks here that a
&lt;br&gt;&amp;gt; move to gnome.org won't make administrative tasks completely impossible.
&lt;br&gt;&amp;gt; Because, frankly, that's how it looks to us right now.
&lt;br&gt;Correct.
&lt;br&gt;&lt;br&gt;Ralf
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25884898&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/My-GtkGLExt-updates-and-request-to-take-maintainership-tp25880169p25884898.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25881998</id>
	<title>Re: My GtkGLExt updates and request to take maintainership</title>
	<published>2009-10-13T15:17:41Z</published>
	<updated>2009-10-13T15:17:41Z</updated>
	<author>
		<name>Braden McDaniel</name>
	</author>
	<content type="html">On 10/13/09 4:23 PM, Mukund Sivaraman wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi all
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have put up a git repository of my modifications to GtkGLExt at
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;https://www.banu.com/git/?p=gtkglext.git;a=summary&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www.banu.com/git/?p=gtkglext.git;a=summary&lt;/a&gt;&amp;gt;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The commit log should be self-explanatory. The major change is an
&lt;br&gt;&amp;gt; upgrade of OpenGL's extensions to current headers as published by the
&lt;br&gt;&amp;gt; Khronos Group. &amp;nbsp;There are some bug fixes too. &amp;nbsp;This work is based on
&lt;br&gt;&amp;gt; where Naofumi left off (since then, except for bugfixes to examples,
&lt;br&gt;&amp;gt; and automake files, nothing major has changed).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The TODO list has a bunch of items for what needs to be done. I want to
&lt;br&gt;&amp;gt; do a few more changes at least:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1. The wrappers around OpenGL extensions API need to be made more GLee
&lt;br&gt;&amp;gt; like, and use less memory. Currently it's a pain to use the GtkGLExt
&lt;br&gt;&amp;gt; wrappers.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2. Update the Pango backend which we use. The current code uses Pango X
&lt;br&gt;&amp;gt; which is obsolete.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 3. Move the repository to git.gnome.org, use bugzilla.gnome.org to
&lt;br&gt;&amp;gt; track bugs (currently it lists just 1) and move the website to
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://projects.gnome.org/gtkglext/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://projects.gnome.org/gtkglext/&lt;/a&gt;&amp;gt;. &amp;nbsp;gnome.org is a preferred home
&lt;br&gt;&amp;gt; for it where several more GNOME developers will get commit access to
&lt;br&gt;&amp;gt; its repositories by default. &amp;nbsp;I am a member of the GNOME foundation and
&lt;br&gt;&amp;gt; can get this sorted if current maintainers are fine with it.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 4. Make some automake related changes.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I also request to take up maintainership of GtkGLExt. It doesn't seem
&lt;br&gt;&amp;gt; actively maintained currently.
&lt;/div&gt;&lt;br&gt;Well, I'd say it's semi-actively maintained.
&lt;br&gt;&lt;br&gt;It is hard to deny that the current maintainers (of which I'm one) are 
&lt;br&gt;lacking the time and/or interest to give this project the attention that 
&lt;br&gt;it needs.
&lt;br&gt;&lt;br&gt;I'm going to review your changes; but their intent, at least, sounds 
&lt;br&gt;good. &amp;nbsp;I'd welcome the addition of a person willing and able to 
&lt;br&gt;modernize GtkGLExt appropriately. &amp;nbsp;Speaking for myself, I'd like to 
&lt;br&gt;remain attached to the project as a comaintainer.
&lt;br&gt;&lt;br&gt;We've actually been trying to migrate the project to gnome.org for more 
&lt;br&gt;than a year. &amp;nbsp;This has been a bit of a fiasco. &amp;nbsp;Some of the delays in 
&lt;br&gt;responsiveness were on our end; but most of them weren't. &amp;nbsp;Things 
&lt;br&gt;petered out some months ago after repeated attempts to get Ralf 
&lt;br&gt;Corsepius a gnome.org account were met with no response. &amp;nbsp;Assuming Ralf 
&lt;br&gt;wishes to remain attached to this project and assuming the idea of 
&lt;br&gt;moving to gnome.org isn't met with complete derision by the current 
&lt;br&gt;comaintainers, that is the first problem that would need solving.
&lt;br&gt;&lt;br&gt;For my part, I see migration to gnome.org as something of an 
&lt;br&gt;inevitability because I see this project's future (if it has one at all) 
&lt;br&gt;as including absorption into GTK+ proper in some form. &amp;nbsp;I think moving 
&lt;br&gt;to gnome.org raises this project's visibility among GNOME developers and 
&lt;br&gt;hopefully facilitates realization of that future.
&lt;br&gt;&lt;br&gt;So I'm the easy sell. &amp;nbsp;But you may need to convince folks here that a 
&lt;br&gt;move to gnome.org won't make administrative tasks completely impossible. 
&lt;br&gt;&amp;nbsp; Because, frankly, that's how it looks to us right now.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Braden McDaniel &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;e-mail: &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25881998&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;braden@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://endoframe.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endoframe.com&lt;/a&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Jabber: &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25881998&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;braden@...&lt;/a&gt;&amp;gt;
&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25881998&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/My-GtkGLExt-updates-and-request-to-take-maintainership-tp25880169p25881998.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25880264</id>
	<title>Re: My GtkGLExt updates and request to take	maintainership</title>
	<published>2009-10-13T13:28:51Z</published>
	<updated>2009-10-13T13:28:51Z</updated>
	<author>
		<name>Mukund Sivaraman</name>
	</author>
	<content type="html">On Wed, Oct 14, 2009 at 01:53:21AM +0530, Mukund Sivaraman wrote:
&lt;br&gt;&amp;gt; I have put up a git repository of my modifications to GtkGLExt at
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;https://www.banu.com/git/?p=gtkglext.git;a=summary&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www.banu.com/git/?p=gtkglext.git;a=summary&lt;/a&gt;&amp;gt;.
&lt;br&gt;&lt;br&gt;You can see an example of GLSL with GtkGLExt here:
&lt;br&gt;&lt;a href=&quot;https://www.banu.com/blog/2009/10/13/glsl-with-gtkglext/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www.banu.com/blog/2009/10/13/glsl-with-gtkglext/&lt;/a&gt;&lt;br&gt;&lt;br&gt;The video on that page was captured by using Istanbul on Fedora 11,
&lt;br&gt;with an NVIDIA chipset and the proprietary NVIDIA driver.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Mukund
&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25880264&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/My-GtkGLExt-updates-and-request-to-take-maintainership-tp25880169p25880264.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25880169</id>
	<title>My GtkGLExt updates and request to take maintainership</title>
	<published>2009-10-13T13:23:21Z</published>
	<updated>2009-10-13T13:23:21Z</updated>
	<author>
		<name>Mukund Sivaraman</name>
	</author>
	<content type="html">Hi all
&lt;br&gt;&lt;br&gt;I have put up a git repository of my modifications to GtkGLExt at
&lt;br&gt;&amp;lt;&lt;a href=&quot;https://www.banu.com/git/?p=gtkglext.git;a=summary&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www.banu.com/git/?p=gtkglext.git;a=summary&lt;/a&gt;&amp;gt;.
&lt;br&gt;&lt;br&gt;The commit log should be self-explanatory. The major change is an
&lt;br&gt;upgrade of OpenGL's extensions to current headers as published by the
&lt;br&gt;Khronos Group. &amp;nbsp;There are some bug fixes too. &amp;nbsp;This work is based on
&lt;br&gt;where Naofumi left off (since then, except for bugfixes to examples,
&lt;br&gt;and automake files, nothing major has changed).
&lt;br&gt;&lt;br&gt;The TODO list has a bunch of items for what needs to be done. I want to
&lt;br&gt;do a few more changes at least:
&lt;br&gt;&lt;br&gt;1. The wrappers around OpenGL extensions API need to be made more GLee
&lt;br&gt;like, and use less memory. Currently it's a pain to use the GtkGLExt
&lt;br&gt;wrappers.
&lt;br&gt;&lt;br&gt;2. Update the Pango backend which we use. The current code uses Pango X
&lt;br&gt;which is obsolete.
&lt;br&gt;&lt;br&gt;3. Move the repository to git.gnome.org, use bugzilla.gnome.org to
&lt;br&gt;track bugs (currently it lists just 1) and move the website to
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://projects.gnome.org/gtkglext/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://projects.gnome.org/gtkglext/&lt;/a&gt;&amp;gt;. &amp;nbsp;gnome.org is a preferred home
&lt;br&gt;for it where several more GNOME developers will get commit access to
&lt;br&gt;its repositories by default. &amp;nbsp;I am a member of the GNOME foundation and
&lt;br&gt;can get this sorted if current maintainers are fine with it.
&lt;br&gt;&lt;br&gt;4. Make some automake related changes.
&lt;br&gt;&lt;br&gt;I also request to take up maintainership of GtkGLExt. It doesn't seem
&lt;br&gt;actively maintained currently.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Mukund
&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25880169&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/My-GtkGLExt-updates-and-request-to-take-maintainership-tp25880169p25880169.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25455459</id>
	<title>gtkglextmm and glewinit simple question</title>
	<published>2009-09-15T07:50:22Z</published>
	<updated>2009-09-15T07:50:22Z</updated>
	<author>
		<name>chire</name>
	</author>
	<content type="html">i have this very simple problem, yet i havent found any solution.
&lt;br&gt;&lt;br&gt;i got this code:
&lt;br&gt;[code]
&lt;br&gt;int main(int argc, char **argv){
&lt;br&gt;&amp;nbsp; &amp;nbsp; GLenum initStatus = glewInit();
&lt;br&gt;&amp;nbsp; &amp;nbsp; if( initStatus != GLEW_OK ){
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;printf( &amp;quot;*GLEW Cannot Init\n&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; if( GLEW_ARB_vertex_buffer_object == NULL ){
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;printf( &amp;quot;*GLEW_ARB_vertex_buffer_object = NULL\n&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; Gtk::Main m(argc, argv);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; // Init gtkglextmm.
&lt;br&gt;&amp;nbsp; &amp;nbsp; Gtk::GL::init(argc, argv);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; // Query OpenGL extension version.
&lt;br&gt;&amp;nbsp; &amp;nbsp; int major, minor;
&lt;br&gt;&amp;nbsp; &amp;nbsp; Gdk::GL::query_version(major, minor);
&lt;br&gt;&amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;OpenGL extension version - &amp;quot;&amp;lt;&amp;lt; major &amp;lt;&amp;lt; &amp;quot;.&amp;quot; &amp;lt;&amp;lt; minor &amp;lt;&amp;lt; std::endl;
&lt;br&gt;&amp;nbsp; &amp;nbsp; GUIVentanaPrincipal gui;
&lt;br&gt;&amp;nbsp; &amp;nbsp; m.run(gui);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; return 0;
&lt;br&gt;}
&lt;br&gt;[/code]
&lt;br&gt;&lt;br&gt;but glewinit fails to initialize
&lt;br&gt;this is my output
&lt;br&gt;[code]
&lt;br&gt;*GLEW Cannot Init
&lt;br&gt;*GLEW_ARB_vertex_buffer_object = NULL
&lt;br&gt;OpenGL extension version - 1.4
&lt;br&gt;[/code]
&lt;br&gt;&lt;br&gt;why this happens when using gtkglextmm and glew?, it only happens on this project im working.</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gtkglextmm-and-glewinit-simple-question-tp25455459p25455459.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25445824</id>
	<title>building pygtkglext</title>
	<published>2009-09-14T17:15:00Z</published>
	<updated>2009-09-14T17:15:00Z</updated>
	<author>
		<name>Raymond Maple</name>
	</author>
	<content type="html">Hello,&lt;br&gt;   I am trying to build gtkglext and pygtkglext on a RHEL 5.3 workstation.  I downloaded both tarballs, and successfully built the gtkglext library and some of the demos.   I do not have root access to this workstation,  so I installed everything to $HOME/lib.  I then untarred the python wrappers, and attempted to buld them using both setup.py and configure.  Setup.py fails when it cannot find the gtkglext install.  configure/make also fails, though I don&amp;#39;t remember the specific error that occurs - I think it had to do with not finding the gtkglext defs files..  Is there any way to build the python wrappers when the gtkglext libraries are installed in a non-standard location?&lt;br&gt;
&lt;br&gt;Thanks,&lt;br&gt;Ray&lt;br&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25445824&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/building-pygtkglext-tp25445824p25445824.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25345432</id>
	<title>Re: Updated example source code using GtkBuilder and GtkGLExt. (Mitchell Laks)</title>
	<published>2009-09-08T05:40:01Z</published>
	<updated>2009-09-08T05:40:01Z</updated>
	<author>
		<name>Jose Commins-2</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp;Hi Mitchell,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hey, thanks for the email! &amp;nbsp;I was using an email client 
&lt;br&gt;and did not realise it mangled my formatting as such! &amp;nbsp;Have reposted the 
&lt;br&gt;previous entries to the list. &amp;nbsp;Thanks!
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Jose.
&lt;br&gt;&lt;br&gt;&amp;gt; Dear axora,
&lt;br&gt;&amp;gt; I would love to read you messages but I cant because they were all sent in html mail. I would be very grateful if you could
&lt;br&gt;&amp;gt; resend them without the html noise :(.
&lt;br&gt;&amp;gt; Thank you very much!
&lt;br&gt;&amp;gt; Mitchell
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25345432&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Updated-example-source-code-using-GtkBuilder-and-GtkGLExt.-%28Mitchell-Laks%29-tp25345432p25345432.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25345400</id>
	<title>[Repost] Re: GdkGLPixmap troubles</title>
	<published>2009-09-08T05:38:32Z</published>
	<updated>2009-09-08T05:38:32Z</updated>
	<author>
		<name>Jose Commins-2</name>
	</author>
	<content type="html">&amp;nbsp; &amp;nbsp; Lindley, I think I've just spotted what the problem may be. &amp;nbsp;In your 
&lt;br&gt;code you have this:
&lt;br&gt;&lt;br&gt;gboolean reshapeGL(GtkWidget *widget, GdkEventConfigure *evnt, gpointer 
&lt;br&gt;data)
&lt;br&gt;{
&lt;br&gt;GUIWindow* me = (GUIWindow*)data;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; There's a quirk in using the 'gpointer data' object in a GTK 
&lt;br&gt;function - it actually gets swapped in the stack if you do so, and is 
&lt;br&gt;*not recommended* :P.
&lt;br&gt;&amp;nbsp; &amp;nbsp; The best approach is to not use the 'gpointer data' at all; instead, 
&lt;br&gt;if you want to pass your user data to a GTK function, attach a GObject 
&lt;br&gt;to it like so - in this example I am attaching it to the window 
&lt;br&gt;containing the GL context:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; (-in place of setting the user data in your initialisation code-)
&lt;br&gt;&amp;nbsp; &amp;nbsp; g_object_set_data ((GObject *)theWindowWithYourGLContext, 
&lt;br&gt;&amp;quot;myUserData&amp;quot;, &amp;theActualData);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; And then use something like this to retrieve it:
&lt;br&gt;&lt;br&gt;gboolean reshapeGL(GtkWidget *widget, GdkEventConfigure *evnt, gpointer 
&lt;br&gt;data)
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; GUIWindow* me = g_object_get_data ((GObject 
&lt;br&gt;*)gtk_widget_get_toplevel (widget), &amp;quot;myUserData&amp;quot;)));
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; In your reshape (and other) functions that need it.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Jose.
&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25345400&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Repost--Re%3A-GdkGLPixmap-troubles-tp25345400p25345400.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25345350</id>
	<title>[Repost] Updated example source code using GtkBuilder and GtkGLExt</title>
	<published>2009-09-08T05:35:08Z</published>
	<updated>2009-09-08T05:35:08Z</updated>
	<author>
		<name>Jose Commins-2</name>
	</author>
	<content type="html">(Update)
&lt;br&gt;&lt;br&gt;Hi folks, to help out anyone who is looking into using OpenGL within GTK 
&lt;br&gt;windows (using GtkGLExt) I have released fully documented sample code in 
&lt;br&gt;C to be used freely as you wish.
&lt;br&gt;&lt;br&gt;It provides safe render-process locking and smooth timer-based rendering 
&lt;br&gt;while being simple, efficient and easy to understand what is going on.
&lt;br&gt;&lt;br&gt;The demo has been updated to use GtkBuilder and is now hosted on 
&lt;br&gt;Sourceforge: &lt;a href=&quot;http://gtkglapp.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gtkglapp.sourceforge.net/&lt;/a&gt;&lt;br&gt;&lt;br&gt;To import the project into Eclipse IDE:
&lt;br&gt;Open the menu 'File-&amp;gt;Import...'.
&lt;br&gt;&amp;nbsp;From the 'General' options folder, select 'Existing Projects into 
&lt;br&gt;Workspace' and click on the 'Next &amp;gt;' button.
&lt;br&gt;Choose the 'Select archive file:' option and next to it click on the 
&lt;br&gt;'Browse...' button to navigate to the project archive (ending in '.tgz') 
&lt;br&gt;you downloaded.
&lt;br&gt;The project name will appear below - click on 'Finish'.
&lt;br&gt;The project will be imported and opened in your Eclipse workspace.
&lt;br&gt;&lt;br&gt;For command-line users:
&lt;br&gt;Please note that to run the application successfully outside of the 
&lt;br&gt;Eclipse IDE environment (e.g. from a 'make' within the &amp;quot;../Debug/&amp;quot; 
&lt;br&gt;directory) the GUI file &amp;quot;gtk_gl_tester.gtk&amp;quot; must reside in the same 
&lt;br&gt;directory as the compiled binary for it to run.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&amp;nbsp; &amp;nbsp; Jose.
&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25345350&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Repost--Updated-example-source-code-using-GtkBuilder-and-GtkGLExt-tp25345350p25345350.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25345327</id>
	<title>[Repost]  Re: GdkGLPixmap troubles</title>
	<published>2009-09-08T05:33:00Z</published>
	<updated>2009-09-08T05:33:00Z</updated>
	<author>
		<name>Jose Commins-2</name>
	</author>
	<content type="html">Hi, just to note a few caveats when dealing with GL contexts.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; First, before performing any context reference operations, the GL 
&lt;br&gt;widget should be +realized+ to manipulate any references inside. &amp;nbsp;I have 
&lt;br&gt;included some source code that I use in one of my apps to enlighten. 
&lt;br&gt;with typecasts to make it easier to associate types:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; // Get OpenGL rendering context.
&lt;br&gt;&amp;nbsp; &amp;nbsp; gtk_widget_realize ((GtkWidget *) yourGLCapableWidget);
&lt;br&gt;&amp;nbsp; &amp;nbsp; (GdkGLContext *) theSharedGlContext = gtk_widget_get_gl_context 
&lt;br&gt;((GtkWidget *) yourGLCapableWidget);
&lt;br&gt;&amp;nbsp; &amp;nbsp; // Initialise the other GL areas with the same shared context.
&lt;br&gt;&amp;nbsp; &amp;nbsp; (GtkWidget *) anotherGLWidget = GTK_WIDGET (gtk_builder_get_object 
&lt;br&gt;(yourGTKBuilderXml, &amp;quot;GLwidget2&amp;quot;));
&lt;br&gt;&amp;nbsp; &amp;nbsp; // Add OpenGL-capability to the other widget, sharing the same context.
&lt;br&gt;&amp;nbsp; &amp;nbsp; gtk_widget_set_gl_capability ((GtkWidget *) anotherGLWidget, 
&lt;br&gt;glConfig, (GdkGLContext *) theSharedGlContext, TRUE, GDK_GL_RGBA_TYPE);
&lt;br&gt;&lt;br&gt;... etc
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Note that 'gtk_widget_realize' is essential for the following 
&lt;br&gt;functions to reference data within.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Another caveat is that some drivers align texture data, depending on 
&lt;br&gt;hardware - after the storage-&amp;gt;framebuffer phase the alignment can vary 
&lt;br&gt;if the hardware is not capable of non-powers-of-two textures. &amp;nbsp;You may 
&lt;br&gt;find that the driver will texture-split any non-power-of-two 
&lt;br&gt;rectangles. &amp;nbsp;The solution to this is to make sure that if the 
&lt;br&gt;driver/hardware does not support non-power-of-two textures, to use the 
&lt;br&gt;stride value in retrieving data back from the framebuffer.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&amp;nbsp; &amp;nbsp; Jose.
&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25345327&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Repost---Re%3A-GdkGLPixmap-troubles-tp25345327p25345327.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25317758</id>
	<title>Re: Updated example source code using GtkBuilder and GtkGLExt..</title>
	<published>2009-09-06T06:21:57Z</published>
	<updated>2009-09-06T06:21:57Z</updated>
	<author>
		<name>Mitchell Laks-2</name>
	</author>
	<content type="html">On 14:37 Thu 27 Aug &amp;nbsp; &amp;nbsp; , &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25317758&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;axora@...&lt;/a&gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;span style=&amp;quot;font-family:Verdana; color:#000000; font-size:10pt;&amp;quot;&amp;gt;&amp;lt;font class=&amp;quot;postbody&amp;quot;&amp;gt;(Update)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Hi folks, to help out anyone who is looking into
&lt;br&gt;&amp;gt; using OpenGL within GTK windows (using GtkGLExt) I have released fully
&lt;br&gt;&amp;gt; documented sample code in C to be used freely as you wish.
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;It provides safe render-process locking and smooth timer-based
&lt;br&gt;&amp;gt; rendering while being simple, efficient and easy to understand what is
&lt;br&gt;&amp;gt; going on.
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;
&lt;br&gt;&amp;gt; The demo has been updated to use GtkBuilder and is now hosted on Sourceforge: &amp;lt;a href=&amp;quot;&lt;a href=&quot;http://gtkglapp.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gtkglapp.sourceforge.net/&lt;/a&gt;&amp;quot; target=&amp;quot;_blank&amp;quot; class=&amp;quot;postlink&amp;quot;&amp;gt;&lt;a href=&quot;http://gtkglapp.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gtkglapp.sourceforge.net/&lt;/a&gt;&amp;lt;/a&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;font style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;To import the project into Eclipse IDE:&amp;lt;/font&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; Open the menu &amp;lt;font style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;'File-&amp;gt;Import...&amp;lt;/font&amp;gt;'.
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; From the '&amp;lt;font style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;General&amp;lt;/font&amp;gt;' options folder, select '&amp;lt;font style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Existing Projects into Workspace&amp;lt;/font&amp;gt;' and click on the '&amp;lt;font style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Next &amp;gt;&amp;lt;/font&amp;gt;' button.
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; Choose the '&amp;lt;font style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Select archive file:&amp;lt;/font&amp;gt;' option and next to it click on the '&amp;lt;font style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Browse...&amp;lt;/font&amp;gt;' button to navigate to the project archive (ending in '.tgz') you downloaded.
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; The project name will appear below - click on '&amp;lt;font style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Finish&amp;lt;/font&amp;gt;'.
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; The project will be imported and opened in your Eclipse workspace.
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;font style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;For command-line users:&amp;lt;/font&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;br&amp;gt;Please note that to run the application successfully outside of the
&lt;br&gt;&amp;gt; Eclipse IDE environment (e.g. from a 'make' within the &amp;quot;../Debug/&amp;quot;
&lt;br&gt;&amp;gt; directory) the GUI file &amp;quot;gtk_gl_tester.gtk&amp;quot; must reside in the same
&lt;br&gt;&amp;gt; directory as the compiled binary for it to run.&amp;lt;/font&amp;gt;&amp;lt;font class=&amp;quot;gensmall&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Regards,&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jose.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;
&lt;/div&gt;&lt;br&gt;Dear axora,
&lt;br&gt;I would love to read you messages but I cant because they were all sent in html mail. I would be very grateful if you could
&lt;br&gt;resend them without the html noise :(.
&lt;br&gt;Thank you very much!
&lt;br&gt;Mitchell
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; gtkglext-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25317758&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25317758&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Updated-example-source-code-using-GtkBuilder-and-GtkGLExt..-tp25180331p25317758.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25194980</id>
	<title>Re: GdkGLPixmap troubles</title>
	<published>2009-08-28T11:46:36Z</published>
	<updated>2009-08-28T11:46:36Z</updated>
	<author>
		<name>Jose Commins-2</name>
	</author>
	<content type="html">&lt;html&gt;&lt;body&gt;&lt;span style=&quot;font-family:Verdana; color:#000000; font-size:10pt;&quot;&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lindley, I think I've just spotted what the problem may be.&amp;nbsp; In your code you have this:&lt;br&gt;&lt;br&gt;gboolean reshapeGL(GtkWidget *widget, GdkEventConfigure *evnt, gpointer data)&lt;br&gt;
{&lt;br&gt;
    GUIWindow* me = (GUIWindow*)data;&lt;br&gt;
    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; There's a quirk in using the 'gpointer data' object in a GTK function - it actually gets swapped in the stack if you do so, and is *not recommended* :P.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The best approach is to not use the 'gpointer data' at all; instead, if you want to pass your user data to a GTK function, attach a GObject to it like so - in this example I am attaching it to the window containing the GL context:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (-in place of setting the user data in your initialisation code-)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_object_set_data ((GObject *)theWindowWithYourGLContext, &quot;myUserData&quot;, &amp;amp;theActualData);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; And then use something like this to retrieve it:&lt;br&gt;&lt;br&gt;gboolean reshapeGL(GtkWidget *widget, GdkEventConfigure *evnt, gpointer data)&lt;br&gt;

{&lt;br&gt;

    &amp;nbsp;&amp;nbsp;&amp;nbsp; GUIWindow* me = g_object_get_data ((GObject *)gtk_widget_get_toplevel (widget), &quot;myUserData&quot;)));&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; In your reshape (and other) functions that need it.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Jose.&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/body&gt;&lt;/html&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25194980&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GdkGLPixmap-troubles-tp25159143p25194980.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25180331</id>
	<title>Updated example source code using GtkBuilder and GtkGLExt..</title>
	<published>2009-08-27T14:37:11Z</published>
	<updated>2009-08-27T14:37:11Z</updated>
	<author>
		<name>Jose Commins-2</name>
	</author>
	<content type="html">&lt;html&gt;&lt;body&gt;&lt;span style=&quot;font-family:Verdana; color:#000000; font-size:10pt;&quot;&gt;&lt;font class=&quot;postbody&quot;&gt;(Update)&lt;br&gt;&lt;br&gt;Hi folks, to help out anyone who is looking into
using OpenGL within GTK windows (using GtkGLExt) I have released fully
documented sample code in C to be used freely as you wish.
&lt;br&gt;

&lt;br&gt;It provides safe render-process locking and smooth timer-based
rendering while being simple, efficient and easy to understand what is
going on.
&lt;br&gt;

&lt;br&gt;
The demo has been updated to use GtkBuilder and is now hosted on Sourceforge: &lt;a href=&quot;http://gtkglapp.sourceforge.net/&quot; target=&quot;_blank&quot; class=&quot;postlink&quot; rel=&quot;nofollow&quot;&gt;http://gtkglapp.sourceforge.net/&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;
&lt;font style=&quot;font-weight: bold;&quot;&gt;To import the project into Eclipse IDE:&lt;/font&gt;
&lt;br&gt;
  Open the menu &lt;font style=&quot;font-style: italic;&quot;&gt;'File-&amp;gt;Import...&lt;/font&gt;'.
&lt;br&gt;
  From the '&lt;font style=&quot;font-style: italic;&quot;&gt;General&lt;/font&gt;' options folder, select '&lt;font style=&quot;font-style: italic;&quot;&gt;Existing Projects into Workspace&lt;/font&gt;' and click on the '&lt;font style=&quot;font-style: italic;&quot;&gt;Next &amp;gt;&lt;/font&gt;' button.
&lt;br&gt;
  Choose the '&lt;font style=&quot;font-style: italic;&quot;&gt;Select archive file:&lt;/font&gt;' option and next to it click on the '&lt;font style=&quot;font-style: italic;&quot;&gt;Browse...&lt;/font&gt;' button to navigate to the project archive (ending in '.tgz') you downloaded.
&lt;br&gt;
  The project name will appear below - click on '&lt;font style=&quot;font-style: italic;&quot;&gt;Finish&lt;/font&gt;'.
&lt;br&gt;
  The project will be imported and opened in your Eclipse workspace.
&lt;br&gt;
  
&lt;br&gt;
&lt;font style=&quot;font-weight: bold;&quot;&gt;For command-line users:&lt;/font&gt;
&lt;br&gt;Please note that to run the application successfully outside of the
Eclipse IDE environment (e.g. from a 'make' within the &quot;../Debug/&quot;
directory) the GUI file &quot;gtk_gl_tester.gtk&quot; must reside in the same
directory as the compiled binary for it to run.&lt;/font&gt;&lt;font class=&quot;gensmall&quot;&gt;&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jose.&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/body&gt;&lt;/html&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25180331&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Updated-example-source-code-using-GtkBuilder-and-GtkGLExt..-tp25180331p25180331.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25180277</id>
	<title>Re: GdkGLPixmap troubles</title>
	<published>2009-08-27T14:33:07Z</published>
	<updated>2009-08-27T14:33:07Z</updated>
	<author>
		<name>Jose Commins-2</name>
	</author>
	<content type="html">&lt;html&gt;&lt;body&gt;&lt;span style=&quot;font-family:Verdana; color:#000000; font-size:10pt;&quot;&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hi, just to note a few caveats when dealing with GL contexts.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; First, before performing any context reference operations, the GL widget should be +realized+ to manipulate any references inside.&amp;nbsp; I have included some source code that I use in one of my apps to enlighten. with typecasts to make it easier to associate types:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get OpenGL rendering context.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gtk_widget_realize ((GtkWidget *) yourGLCapableWidget);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (GdkGLContext *) theSharedGlContext = gtk_widget_get_gl_context ((GtkWidget *) yourGLCapableWidget);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Initialise the other GL areas with the same shared context.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (GtkWidget *) anotherGLWidget = GTK_WIDGET (gtk_builder_get_object (yourGTKBuilderXml, &quot;GLwidget2&quot;));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Add OpenGL-capability to the other widget, sharing the same context.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gtk_widget_set_gl_capability ((GtkWidget *) anotherGLWidget, glConfig, (GdkGLContext *) theSharedGlContext, TRUE, GDK_GL_RGBA_TYPE);&lt;br&gt;&lt;br&gt;... etc&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Note that 'gtk_widget_realize' is essential for the following functions to reference data within.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Another caveat is that some drivers align texture data, depending on hardware - after the storage-&amp;gt;framebuffer phase the alignment can vary if the hardware is not capable of non-powers-of-two textures.&amp;nbsp; You may find that the driver will texture-split any non-power-of-two rectangles.&amp;nbsp; The solution to this is to make sure that if the driver/hardware does not support non-power-of-two textures, to use the stride value in retrieving data back from the framebuffer.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jose.&lt;br&gt;&lt;/span&gt;&lt;/body&gt;&lt;/html&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25180277&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GdkGLPixmap-troubles-tp25159143p25180277.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25174326</id>
	<title>Re: GdkGLPixmap troubles</title>
	<published>2009-08-27T08:17:44Z</published>
	<updated>2009-08-27T08:17:44Z</updated>
	<author>
		<name>Lindley</name>
	</author>
	<content type="html">Ack, that looks messy. Anyway, here's my current code----all the objects and checks are sucessful, right up to the creation of the GdkPixbuf, but the damn thing is blank---no image in it. I even glClear()'d the buffer to green so I'd know it was getting *something*, but.....nope.
&lt;br&gt;&lt;br&gt;configure-event handler:
&lt;br&gt;&lt;br&gt;gboolean reshapeGL(GtkWidget *widget, GdkEventConfigure *evnt, gpointer data)
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; GUIWindow* me = (GUIWindow*)data;
&lt;br&gt;&amp;nbsp; &amp;nbsp; GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
&lt;br&gt;&amp;nbsp; &amp;nbsp; GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; assert(pthread_equal(me-&amp;gt;mainthread, pthread_self()));
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return FALSE;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;lock();
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;viewport.x = evnt-&amp;gt;x;
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;viewport.width = evnt-&amp;gt;width;
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;viewport.y = evnt-&amp;gt;y;
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;viewport.height = evnt-&amp;gt;height;
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;unlock();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; gdk_gl_drawable_gl_end (gldrawable);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; if (me-&amp;gt;osPixmap)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gdk_gl_pixmap_destroy(me-&amp;gt;osPixmap);
&lt;br&gt;&amp;nbsp; &amp;nbsp; if (me-&amp;gt;osContext)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gdk_gl_context_destroy(me-&amp;gt;osContext);
&lt;br&gt;&amp;nbsp; &amp;nbsp; GdkPixmap *pixmap = gdk_pixmap_new (widget-&amp;gt;window,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; widget-&amp;gt;allocation.width,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; widget-&amp;gt;allocation.height,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; GdkGLConfig *glconfig = gdk_gl_config_new_by_mode (
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GdkGLConfigMode(GDK_GL_MODE_RGB &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GDK_GL_MODE_SINGLE));
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;osPixmap = gdk_pixmap_set_gl_capability (pixmap,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glconfig,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NULL);
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;osContext = gdk_gl_context_new (GDK_GL_DRAWABLE(me-&amp;gt;osPixmap),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; glcontext,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FALSE,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GDK_GL_RGBA_TYPE);
&lt;br&gt;&amp;nbsp; &amp;nbsp; g_object_unref(glconfig);
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; return FALSE;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;And here's my function to generate the Pixbuf:
&lt;br&gt;&lt;br&gt;gboolean doTakeScreenshot(gpointer data)
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; GUIWindow *me = (GUIWindow*)data;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; assert(pthread_equal(me-&amp;gt;mainthread, pthread_self()));
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;lock();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; GdkGLDrawable *osDrawable = GDK_GL_DRAWABLE(me-&amp;gt;osPixmap);
&lt;br&gt;&amp;nbsp; &amp;nbsp; if (!osDrawable || !me-&amp;gt;osContext)
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fprintf(stderr, &amp;quot;Warning, no offscreen pixbuf configured in GUIWindow::doTakeScreenshot.\n&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; me-&amp;gt;unlock();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return FALSE;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; if (!me-&amp;gt;screenshot_dest)
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fprintf(stderr, &amp;quot;Warning, no screenshot destination found in GUIWindow::doTakeScreenshot.\n&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; me-&amp;gt;unlock();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return FALSE;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; if (!gdk_gl_drawable_gl_begin (osDrawable, me-&amp;gt;osContext))
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; me-&amp;gt;unlock();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return FALSE;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; glViewport(me-&amp;gt;viewport.x,me-&amp;gt;viewport.y,me-&amp;gt;viewport.width,me-&amp;gt;viewport.height);
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; glMatrixMode(GL_MODELVIEW);
&lt;br&gt;&amp;nbsp; &amp;nbsp; glLoadIdentity();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; fprintf(stderr,&amp;quot;Taking screenshot of window %d.\n&amp;quot;,me-&amp;gt;window_id);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; // Need to flip the y axis for screenshots
&lt;br&gt;&amp;nbsp; &amp;nbsp; glMatrixMode(GL_PROJECTION);
&lt;br&gt;&amp;nbsp; &amp;nbsp; glLoadIdentity();
&lt;br&gt;&amp;nbsp; &amp;nbsp; glOrtho(me-&amp;gt;ortho.x,me-&amp;gt;ortho.x+me-&amp;gt;ortho.width,
&lt;br&gt;me-&amp;gt;ortho.y+me-&amp;gt;ortho.height,me-&amp;gt;ortho.y,0,1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; glMatrixMode(GL_MODELVIEW);
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; glClearColor(0,1,0,1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; glClear(GL_COLOR_BUFFER_BIT);
&lt;br&gt;&amp;nbsp; &amp;nbsp; glColor3d(1,0,0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; glBegin(GL_LINES);
&lt;br&gt;&amp;nbsp; &amp;nbsp; glVertex2d(me-&amp;gt;ortho.x,me-&amp;gt;ortho.y+me-&amp;gt;ortho.height);
&lt;br&gt;&amp;nbsp; &amp;nbsp; glVertex2d(me-&amp;gt;ortho.x+me-&amp;gt;ortho.width,me-&amp;gt;ortho.y);
&lt;br&gt;&amp;nbsp; &amp;nbsp; glEnd();
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; gdk_gl_drawable_wait_gl(osDrawable);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; gdk_gl_drawable_gl_end (osDrawable);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;osBuffer = gdk_pixbuf_get_from_drawable(me-&amp;gt;osBuffer,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gdk_gl_pixmap_get_pixmap(me-&amp;gt;osPixmap),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NULL,//gdk_color_get_system(),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0,0,0,0,-1,-1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; if (me-&amp;gt;osBuffer)
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; color_img *img = me-&amp;gt;screenshot_dest;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int pbheight = &amp;nbsp; gdk_pixbuf_get_height &amp;nbsp; &amp;nbsp;(me-&amp;gt;osBuffer);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int pbwidth &amp;nbsp;= &amp;nbsp; gdk_pixbuf_get_width &amp;nbsp; &amp;nbsp; (me-&amp;gt;osBuffer);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int pbstride = &amp;nbsp; gdk_pixbuf_get_rowstride (me-&amp;gt;osBuffer);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int pbchannels = gdk_pixbuf_get_n_channels(me-&amp;gt;osBuffer);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unsigned char *pixels = gdk_pixbuf_get_pixels(me-&amp;gt;osBuffer);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; assert(pbchannels == 3);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int i = 0; i &amp;lt; pbheight; i++)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int j = 0; j &amp;lt; pbwidth; j++)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; memcpy(img-&amp;gt;data[i][j],pixels + i*pbstride + j*pbchannels, pbchannels);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; img-&amp;gt;data[i][j][3] = 255;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;unlock();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; return FALSE;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;I breakpoint on the line after the gdk_pixbuf_get_pixels() call, and check the first few bytes----always 0. They should be (0,1,0) patterns since that's what I cleared the background too, or (1,0,0) if I happened to get a pixel with the red line on it.
&lt;br&gt;&lt;br&gt;Any idea what's wrong? If I don't hear back I'm scrapping the pixmap code as worthless and going to the tried-and-true render-to-texture via EXT_framebuffer_object approach. Even if that does require introducing a GLEW dependency.
&lt;br&gt;&lt;br&gt;----- Original Message -----
&lt;br&gt;From: Stephane Popinet &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25174326&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;s.popinet@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: Wednesday, August 26, 2009 5:20 pm
&lt;br&gt;Subject: Re: [GtkGLExt] GdkGLPixmap troubles
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Lindley, Jean,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Exporting a GL view is just a nightmare. Things seem to depend 
&lt;br&gt;&amp;gt; upon the
&lt;br&gt;&amp;gt; &amp;gt; used driver. The solutioin I use can be seen at
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://svn.savannah.gnu.org/viewvc/trunk/gchemutils/libs/gcu/glview.cc?annotate=1098&amp;root=gchemutils&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.savannah.gnu.org/viewvc/trunk/gchemutils/libs/gcu/glview.cc?annotate=1098&amp;root=gchemutils&lt;/a&gt;&amp;gt; starting from line 368. Not sure it works in all cases.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Yes, I can confirm that doing offscreen openGL rendering in a portable
&lt;br&gt;&amp;gt; way truly is a nightmare. It depends on the openGL driver and some
&lt;br&gt;&amp;gt; drivers are so dodgy that they even tell you that they support
&lt;br&gt;&amp;gt; offscreen openGL rendering when they don't.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; OSMesa is a good alternative, however it is not that well 
&lt;br&gt;&amp;gt; supported either...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I would imagine offscreen openGL rendering to be something many people
&lt;br&gt;&amp;gt; want to do but I am puzzled by the lack of ressources on the topic on
&lt;br&gt;&amp;gt; the web. Are people using some other mechanism we are not aware of?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks for your code Jean, I will have a look and see if I can use it
&lt;br&gt;&amp;gt; to improve mine (&lt;a href=&quot;http://gfs.sf.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gfs.sf.net&lt;/a&gt;).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; cheers
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Stephane
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; gtkglext-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25174326&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25174326&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GdkGLPixmap-troubles-tp25159143p25174326.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25162246</id>
	<title>Re: GdkGLPixmap troubles</title>
	<published>2009-08-26T14:54:25Z</published>
	<updated>2009-08-26T14:54:25Z</updated>
	<author>
		<name>Lindley</name>
	</author>
	<content type="html">Well, the &amp;quot;right&amp;quot; way to do it is to to EXT_framebuffer_object, which most graphics cards support these days. However, I'm trying to avoid introducing a GLEW or GLee dependency, and I hate dealing with OpenGL extensions manually. It's the principal of the thing.
&lt;br&gt;&lt;br&gt;----- Original Message -----
&lt;br&gt;From: Stephane Popinet &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25162246&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;s.popinet@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: Wednesday, August 26, 2009 5:20 pm
&lt;br&gt;Subject: Re: [GtkGLExt] GdkGLPixmap troubles
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Lindley, Jean,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Exporting a GL view is just a nightmare. Things seem to depend 
&lt;br&gt;&amp;gt; upon the
&lt;br&gt;&amp;gt; &amp;gt; used driver. The solutioin I use can be seen at
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://svn.savannah.gnu.org/viewvc/trunk/gchemutils/libs/gcu/glview.cc?annotate=1098&amp;root=gchemutils&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.savannah.gnu.org/viewvc/trunk/gchemutils/libs/gcu/glview.cc?annotate=1098&amp;root=gchemutils&lt;/a&gt;&amp;gt; starting from line 368. Not sure it works in all cases.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Yes, I can confirm that doing offscreen openGL rendering in a portable
&lt;br&gt;&amp;gt; way truly is a nightmare. It depends on the openGL driver and some
&lt;br&gt;&amp;gt; drivers are so dodgy that they even tell you that they support
&lt;br&gt;&amp;gt; offscreen openGL rendering when they don't.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; OSMesa is a good alternative, however it is not that well 
&lt;br&gt;&amp;gt; supported either...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I would imagine offscreen openGL rendering to be something many people
&lt;br&gt;&amp;gt; want to do but I am puzzled by the lack of ressources on the topic on
&lt;br&gt;&amp;gt; the web. Are people using some other mechanism we are not aware of?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks for your code Jean, I will have a look and see if I can use it
&lt;br&gt;&amp;gt; to improve mine (&lt;a href=&quot;http://gfs.sf.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gfs.sf.net&lt;/a&gt;).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; cheers
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Stephane
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; gtkglext-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25162246&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25162246&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GdkGLPixmap-troubles-tp25159143p25162246.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25161727</id>
	<title>Re: GdkGLPixmap troubles</title>
	<published>2009-08-26T14:20:30Z</published>
	<updated>2009-08-26T14:20:30Z</updated>
	<author>
		<name>Stephane Popinet-2</name>
	</author>
	<content type="html">Hi Lindley, Jean,
&lt;br&gt;&lt;br&gt;&amp;gt; Exporting a GL view is just a nightmare. Things seem to depend upon the
&lt;br&gt;&amp;gt; used driver. The solutioin I use can be seen at
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://svn.savannah.gnu.org/viewvc/trunk/gchemutils/libs/gcu/glview.cc?annotate=1098&amp;root=gchemutils&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.savannah.gnu.org/viewvc/trunk/gchemutils/libs/gcu/glview.cc?annotate=1098&amp;root=gchemutils&lt;/a&gt;&lt;br&gt;&amp;gt; starting from line 368. Not sure it works in all cases.
&lt;br&gt;&lt;br&gt;Yes, I can confirm that doing offscreen openGL rendering in a portable
&lt;br&gt;way truly is a nightmare. It depends on the openGL driver and some
&lt;br&gt;drivers are so dodgy that they even tell you that they support
&lt;br&gt;offscreen openGL rendering when they don't.
&lt;br&gt;&lt;br&gt;OSMesa is a good alternative, however it is not that well supported either...
&lt;br&gt;&lt;br&gt;I would imagine offscreen openGL rendering to be something many people
&lt;br&gt;want to do but I am puzzled by the lack of ressources on the topic on
&lt;br&gt;the web. Are people using some other mechanism we are not aware of?
&lt;br&gt;&lt;br&gt;Thanks for your code Jean, I will have a look and see if I can use it
&lt;br&gt;to improve mine (&lt;a href=&quot;http://gfs.sf.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gfs.sf.net&lt;/a&gt;).
&lt;br&gt;&lt;br&gt;cheers
&lt;br&gt;&lt;br&gt;Stephane
&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25161727&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GdkGLPixmap-troubles-tp25159143p25161727.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25161448</id>
	<title>Re: GdkGLPixmap troubles</title>
	<published>2009-08-26T14:01:59Z</published>
	<updated>2009-08-26T14:01:59Z</updated>
	<author>
		<name>Jean Bréfort</name>
	</author>
	<content type="html">Exporting a GL view is just a nightmare. Things seem to depend upon the
&lt;br&gt;used driver. The solutioin I use can be seen at
&lt;br&gt;&lt;a href=&quot;http://svn.savannah.gnu.org/viewvc/trunk/gchemutils/libs/gcu/glview.cc?annotate=1098&amp;root=gchemutils&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.savannah.gnu.org/viewvc/trunk/gchemutils/libs/gcu/glview.cc?annotate=1098&amp;root=gchemutils&lt;/a&gt;&lt;br&gt;starting from line 368. Not sure it works in all cases.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Jean
&lt;br&gt;&lt;br&gt;Le mercredi 26 août 2009 à 15:59 -0400, Lindley M French a écrit :
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Well, I've solve the initial issue---I was trying to cast a GdkPixmap when I should have been trying to cast a GdkGLPixmap. The bad cast warning was hidden because I'd forgotten I'd closed stderr on that program.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; However, the images aren't coming out right when the &amp;quot;host window&amp;quot; isn't on-screen. This is odd, since the pixmap is supposed to be sharing lists, textures, etc with the window's context, but not otherwise related to anything on-screen.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It *looks* to me like what's getting drawn when the window is off-screen is a small part of the image, almost as if the orthographic projection were messed up; but I've checked that, it's fine. So is the viewport. So it must be something else?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ----- Original Message -----
&lt;br&gt;&amp;gt; From: Lindley M French &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25161448&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;lfrench1@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Date: Wednesday, August 26, 2009 2:46 pm
&lt;br&gt;&amp;gt; Subject: [GtkGLExt] GdkGLPixmap troubles
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I'm trying to allow an offscreen render to a pixmap to occur now, 
&lt;br&gt;&amp;gt; &amp;gt; instead of trying to force an expose event while a window is 
&lt;br&gt;&amp;gt; &amp;gt; offscreen like I was before.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I've looked over the example code in pixmap.c that comes with 
&lt;br&gt;&amp;gt; &amp;gt; GtkGLExt, but my adaptation of it isn't working.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; My configure-event handler:
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; gboolean reshapeGL(GtkWidget *widget, GdkEventConfigure *evnt, 
&lt;br&gt;&amp;gt; &amp;gt; gpointer data)
&lt;br&gt;&amp;gt; &amp;gt; {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GUIWindow* me = (GUIWindow*)data;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;assert(pthread_equal(me-&amp;gt;mainthread, pthread_self()));
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;fprintf(stderr,&amp;quot;reshaping window %d, %d %d %d %d\n&amp;quot;,me-
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;window_id,evnt-&amp;gt;x,evnt-&amp;gt;y,evnt-&amp;gt;width,evnt-&amp;gt;height);
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;lock();
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;xviewport = evnt-&amp;gt;x;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;widthvp = evnt-&amp;gt;width;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;yviewport = evnt-&amp;gt;y;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;heightvp = evnt-&amp;gt;height;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;glViewport(me-&amp;gt;xviewport,me-&amp;gt;yviewport,me-&amp;gt;widthvp,me-&amp;gt;heightvp);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;unlock();
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;gdk_gl_drawable_gl_end (gldrawable);
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;if (me-&amp;gt;osPixmap)
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;g_object_unref(me-&amp;gt;osPixmap);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;if (me-&amp;gt;osContext)
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gdk_gl_context_destroy(me-&amp;gt;osContext);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;osPixmap = gdk_pixmap_new (widget-&amp;gt;window,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; widget-&amp;gt;allocation.width,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; widget-&amp;gt;allocation.height,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -1);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GdkGLConfig *glconfig = gdk_gl_config_new_by_mode (
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GdkGLConfigMode(GDK_GL_MODE_RGB &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GDK_GL_MODE_SINGLE));
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GdkGLDrawable *osDrawable = GDK_GL_DRAWABLE (
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gdk_pixmap_set_gl_capability (me-&amp;gt;osPixmap,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glconfig,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NULL));
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;osContext = gdk_gl_context_new (osDrawable,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glcontext,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FALSE,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GDK_GL_RGBA_TYPE);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; &amp;gt; }
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; That all works fine so far as I can tell. There may be some issues 
&lt;br&gt;&amp;gt; &amp;gt; with when exactly I'm supposed to unref something; the whole 
&lt;br&gt;&amp;gt; &amp;gt; reference counting scheme is less than well-documented. However, 
&lt;br&gt;&amp;gt; &amp;gt; I'm not concerned about that for now.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I also have this function, which is not linked to any particular 
&lt;br&gt;&amp;gt; &amp;gt; event:
&lt;br&gt;&amp;gt; &amp;gt; gboolean doTakeScreenshot(gpointer data)
&lt;br&gt;&amp;gt; &amp;gt; {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GUIWindow *me = (GUIWindow *)data;
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;assert(pthread_equal(me-&amp;gt;mainthread, pthread_self()));
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;lock();
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GdkGLDrawable *osDrawable = GDK_GL_DRAWABLE(me-&amp;gt;osPixmap);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;if (!osDrawable || !me-&amp;gt;osContext)
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fprintf(stderr, &amp;quot;Warning, no offscreen pixbuf configured 
&lt;br&gt;&amp;gt; &amp;gt; in aeGraphWindow::doTakeScreenshot.\n&amp;quot;);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;me-&amp;gt;unlock();
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;if (!gdk_gl_drawable_gl_begin (osDrawable, me-&amp;gt;osContext))
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;me-&amp;gt;unlock();
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;// OPENGL DRAWING HERE
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;gdk_gl_drawable_wait_gl(osDrawable);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;glReadBuffer(GL_FRONT);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;glReadPixels(me-&amp;gt;xviewport,me-&amp;gt;yviewport,me-&amp;gt;widthvp,me-&amp;gt;heightvp,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GL_RGBA,GL_UNSIGNED_BYTE,me-&amp;gt;screenshot_dest-
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;data[0]);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;unlock();
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;gdk_gl_drawable_gl_end (osDrawable);
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; &amp;gt; }
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; It appears that gdk_gl_drawable_gl_begin() is failing here. What 
&lt;br&gt;&amp;gt; &amp;gt; could cause that? Both the context and drawable being passed are 
&lt;br&gt;&amp;gt; &amp;gt; valid pointers. However, I did notice that 
&lt;br&gt;&amp;gt; &amp;gt; gdk_gl_context_get_gl_drawable(me-&amp;gt;osContext) returned NULL, which 
&lt;br&gt;&amp;gt; &amp;gt; I thought was odd.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I'm not positive that my glReadPixels() is valid either, but I 
&lt;br&gt;&amp;gt; &amp;gt; want to get past this hurdle before worrying about that one.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Any ideas?
&lt;br&gt;&amp;gt; &amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; &amp;gt; gtkglext-list mailing list
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25161448&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; gtk-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25161448&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtk-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtk-list&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25161448&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GdkGLPixmap-troubles-tp25159143p25161448.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25161389</id>
	<title>Re: GdkGLPixmap troubles</title>
	<published>2009-08-26T13:58:24Z</published>
	<updated>2009-08-26T13:58:24Z</updated>
	<author>
		<name>Lindley</name>
	</author>
	<content type="html">Okay, this is really odd.
&lt;br&gt;&lt;br&gt;I figured out why the on-screen case was working, that was just a remnant of my old code. But the GdkGLPixmap approach still isn't behaving itself. See the below code, with this inserted at the &amp;quot;OPENGL DRAWING HERE&amp;quot; point:
&lt;br&gt;&lt;br&gt;glClearColor(0,0,0,0);
&lt;br&gt;glClear(GL_COLOR_BUFFER_BIT);
&lt;br&gt;glColor3d(1,0,0);
&lt;br&gt;glBegin(GL_LINES);
&lt;br&gt;glVertex2d(me-&amp;gt;ortho.x,me-&amp;gt;ortho.y+me-&amp;gt;ortho.height);
&lt;br&gt;glVertex2d(me-&amp;gt;ortho.x+me-&amp;gt;ortho.width,me-&amp;gt;ortho.y);
&lt;br&gt;glEnd();
&lt;br&gt;&lt;br&gt;Obviously, this should draw a simple red line diagonally from one corner of the image to the other, since I'm using the same values for the vertexes as I did for the glOrtho() call.
&lt;br&gt;&lt;br&gt;However, the attached image is what comes out. One corner right, the other....not. *Something* fishy is going on....
&lt;br&gt;&lt;br&gt;----- Original Message -----
&lt;br&gt;From: Lindley M French &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25161389&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;lfrench1@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: Wednesday, August 26, 2009 3:59 pm
&lt;br&gt;Subject: Re: [GtkGLExt] GdkGLPixmap troubles
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Well, I've solve the initial issue---I was trying to cast a 
&lt;br&gt;&amp;gt; GdkPixmap when I should have been trying to cast a GdkGLPixmap. 
&lt;br&gt;&amp;gt; The bad cast warning was hidden because I'd forgotten I'd closed 
&lt;br&gt;&amp;gt; stderr on that program.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; However, the images aren't coming out right when the &amp;quot;host window&amp;quot; 
&lt;br&gt;&amp;gt; isn't on-screen. This is odd, since the pixmap is supposed to be 
&lt;br&gt;&amp;gt; sharing lists, textures, etc with the window's context, but not 
&lt;br&gt;&amp;gt; otherwise related to anything on-screen.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It *looks* to me like what's getting drawn when the window is off-
&lt;br&gt;&amp;gt; screen is a small part of the image, almost as if the orthographic 
&lt;br&gt;&amp;gt; projection were messed up; but I've checked that, it's fine. So is 
&lt;br&gt;&amp;gt; the viewport. So it must be something else?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ----- Original Message -----
&lt;br&gt;&amp;gt; From: Lindley M French &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25161389&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;lfrench1@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Date: Wednesday, August 26, 2009 2:46 pm
&lt;br&gt;&amp;gt; Subject: [GtkGLExt] GdkGLPixmap troubles
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I'm trying to allow an offscreen render to a pixmap to occur 
&lt;br&gt;&amp;gt; now, 
&lt;br&gt;&amp;gt; &amp;gt; instead of trying to force an expose event while a window is 
&lt;br&gt;&amp;gt; &amp;gt; offscreen like I was before.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I've looked over the example code in pixmap.c that comes with 
&lt;br&gt;&amp;gt; &amp;gt; GtkGLExt, but my adaptation of it isn't working.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; My configure-event handler:
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; gboolean reshapeGL(GtkWidget *widget, GdkEventConfigure *evnt, 
&lt;br&gt;&amp;gt; &amp;gt; gpointer data)
&lt;br&gt;&amp;gt; &amp;gt; {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GUIWindow* me = (GUIWindow*)data;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;assert(pthread_equal(me-&amp;gt;mainthread, pthread_self()));
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;fprintf(stderr,&amp;quot;reshaping window %d, %d %d %d %d\n&amp;quot;,me-
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;window_id,evnt-&amp;gt;x,evnt-&amp;gt;y,evnt-&amp;gt;width,evnt-&amp;gt;height);
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;lock();
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;xviewport = evnt-&amp;gt;x;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;widthvp = evnt-&amp;gt;width;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;yviewport = evnt-&amp;gt;y;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;heightvp = evnt-&amp;gt;height;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;glViewport(me-&amp;gt;xviewport,me-&amp;gt;yviewport,me-&amp;gt;widthvp,me-&amp;gt;heightvp);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;unlock();
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;gdk_gl_drawable_gl_end (gldrawable);
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;if (me-&amp;gt;osPixmap)
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;g_object_unref(me-&amp;gt;osPixmap);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;if (me-&amp;gt;osContext)
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gdk_gl_context_destroy(me-&amp;gt;osContext);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;osPixmap = gdk_pixmap_new (widget-&amp;gt;window,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; widget-&amp;gt;allocation.width,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; widget-&amp;gt;allocation.height,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -1);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GdkGLConfig *glconfig = gdk_gl_config_new_by_mode (
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GdkGLConfigMode(GDK_GL_MODE_RGB &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GDK_GL_MODE_SINGLE));
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GdkGLDrawable *osDrawable = GDK_GL_DRAWABLE (
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gdk_pixmap_set_gl_capability (me-&amp;gt;osPixmap,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glconfig,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NULL));
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;osContext = gdk_gl_context_new (osDrawable,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glcontext,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FALSE,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GDK_GL_RGBA_TYPE);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; &amp;gt; }
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; That all works fine so far as I can tell. There may be some 
&lt;br&gt;&amp;gt; issues 
&lt;br&gt;&amp;gt; &amp;gt; with when exactly I'm supposed to unref something; the whole 
&lt;br&gt;&amp;gt; &amp;gt; reference counting scheme is less than well-documented. However, 
&lt;br&gt;&amp;gt; &amp;gt; I'm not concerned about that for now.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I also have this function, which is not linked to any particular 
&lt;br&gt;&amp;gt; &amp;gt; event:
&lt;br&gt;&amp;gt; &amp;gt; gboolean doTakeScreenshot(gpointer data)
&lt;br&gt;&amp;gt; &amp;gt; {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GUIWindow *me = (GUIWindow *)data;
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;assert(pthread_equal(me-&amp;gt;mainthread, pthread_self()));
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;lock();
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;GdkGLDrawable *osDrawable = GDK_GL_DRAWABLE(me-&amp;gt;osPixmap);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;if (!osDrawable || !me-&amp;gt;osContext)
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fprintf(stderr, &amp;quot;Warning, no offscreen pixbuf configured 
&lt;br&gt;&amp;gt; &amp;gt; in aeGraphWindow::doTakeScreenshot.\n&amp;quot;);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;me-&amp;gt;unlock();
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;if (!gdk_gl_drawable_gl_begin (osDrawable, me-&amp;gt;osContext))
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;me-&amp;gt;unlock();
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;// OPENGL DRAWING HERE
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;gdk_gl_drawable_wait_gl(osDrawable);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;glReadBuffer(GL_FRONT);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;glReadPixels(me-&amp;gt;xviewport,me-&amp;gt;yviewport,me-&amp;gt;widthvp,me-
&lt;br&gt;&amp;gt; &amp;gt;heightvp,&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GL_RGBA,GL_UNSIGNED_BYTE,me-
&lt;br&gt;&amp;gt; &amp;gt;screenshot_dest-
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;data[0]);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;unlock();
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;gdk_gl_drawable_gl_end (osDrawable);
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; &amp;gt; }
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; It appears that gdk_gl_drawable_gl_begin() is failing here. What 
&lt;br&gt;&amp;gt; &amp;gt; could cause that? Both the context and drawable being passed are 
&lt;br&gt;&amp;gt; &amp;gt; valid pointers. However, I did notice that 
&lt;br&gt;&amp;gt; &amp;gt; gdk_gl_context_get_gl_drawable(me-&amp;gt;osContext) returned NULL, 
&lt;br&gt;&amp;gt; which 
&lt;br&gt;&amp;gt; &amp;gt; I thought was odd.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I'm not positive that my glReadPixels() is valid either, but I 
&lt;br&gt;&amp;gt; &amp;gt; want to get past this hurdle before worrying about that one.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Any ideas?
&lt;br&gt;&amp;gt; &amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; &amp;gt; gtkglext-list mailing list
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25161389&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; gtkglext-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25161389&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25161389&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;test1.png&lt;/strong&gt; (5K) &lt;a href=&quot;http://old.nabble.com/attachment/25161389/0/test1.png&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GdkGLPixmap-troubles-tp25159143p25161389.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25160326</id>
	<title>Re: GdkGLPixmap troubles</title>
	<published>2009-08-26T12:59:40Z</published>
	<updated>2009-08-26T12:59:40Z</updated>
	<author>
		<name>Lindley</name>
	</author>
	<content type="html">Well, I've solve the initial issue---I was trying to cast a GdkPixmap when I should have been trying to cast a GdkGLPixmap. The bad cast warning was hidden because I'd forgotten I'd closed stderr on that program.
&lt;br&gt;&lt;br&gt;However, the images aren't coming out right when the &amp;quot;host window&amp;quot; isn't on-screen. This is odd, since the pixmap is supposed to be sharing lists, textures, etc with the window's context, but not otherwise related to anything on-screen.
&lt;br&gt;&lt;br&gt;It *looks* to me like what's getting drawn when the window is off-screen is a small part of the image, almost as if the orthographic projection were messed up; but I've checked that, it's fine. So is the viewport. So it must be something else?
&lt;br&gt;&lt;br&gt;----- Original Message -----
&lt;br&gt;From: Lindley M French &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25160326&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;lfrench1@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: Wednesday, August 26, 2009 2:46 pm
&lt;br&gt;Subject: [GtkGLExt] GdkGLPixmap troubles
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I'm trying to allow an offscreen render to a pixmap to occur now, 
&lt;br&gt;&amp;gt; instead of trying to force an expose event while a window is 
&lt;br&gt;&amp;gt; offscreen like I was before.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I've looked over the example code in pixmap.c that comes with 
&lt;br&gt;&amp;gt; GtkGLExt, but my adaptation of it isn't working.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; My configure-event handler:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; gboolean reshapeGL(GtkWidget *widget, GdkEventConfigure *evnt, 
&lt;br&gt;&amp;gt; gpointer data)
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;GUIWindow* me = (GUIWindow*)data;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;assert(pthread_equal(me-&amp;gt;mainthread, pthread_self()));
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;fprintf(stderr,&amp;quot;reshaping window %d, %d %d %d %d\n&amp;quot;,me-
&lt;br&gt;&amp;gt; &amp;gt;window_id,evnt-&amp;gt;x,evnt-&amp;gt;y,evnt-&amp;gt;width,evnt-&amp;gt;height);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;lock();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;xviewport = evnt-&amp;gt;x;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;widthvp = evnt-&amp;gt;width;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;yviewport = evnt-&amp;gt;y;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;heightvp = evnt-&amp;gt;height;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;glViewport(me-&amp;gt;xviewport,me-&amp;gt;yviewport,me-&amp;gt;widthvp,me-&amp;gt;heightvp);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;unlock();
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;gdk_gl_drawable_gl_end (gldrawable);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;if (me-&amp;gt;osPixmap)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;g_object_unref(me-&amp;gt;osPixmap);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;if (me-&amp;gt;osContext)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gdk_gl_context_destroy(me-&amp;gt;osContext);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;osPixmap = gdk_pixmap_new (widget-&amp;gt;window,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; widget-&amp;gt;allocation.width,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; widget-&amp;gt;allocation.height,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -1);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;GdkGLConfig *glconfig = gdk_gl_config_new_by_mode (
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GdkGLConfigMode(GDK_GL_MODE_RGB &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GDK_GL_MODE_SINGLE));
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;GdkGLDrawable *osDrawable = GDK_GL_DRAWABLE (
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gdk_pixmap_set_gl_capability (me-&amp;gt;osPixmap,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glconfig,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NULL));
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;osContext = gdk_gl_context_new (osDrawable,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glcontext,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FALSE,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GDK_GL_RGBA_TYPE);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; That all works fine so far as I can tell. There may be some issues 
&lt;br&gt;&amp;gt; with when exactly I'm supposed to unref something; the whole 
&lt;br&gt;&amp;gt; reference counting scheme is less than well-documented. However, 
&lt;br&gt;&amp;gt; I'm not concerned about that for now.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I also have this function, which is not linked to any particular 
&lt;br&gt;&amp;gt; event:
&lt;br&gt;&amp;gt; gboolean doTakeScreenshot(gpointer data)
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;GUIWindow *me = (GUIWindow *)data;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;assert(pthread_equal(me-&amp;gt;mainthread, pthread_self()));
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;lock();
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;GdkGLDrawable *osDrawable = GDK_GL_DRAWABLE(me-&amp;gt;osPixmap);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;if (!osDrawable || !me-&amp;gt;osContext)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fprintf(stderr, &amp;quot;Warning, no offscreen pixbuf configured 
&lt;br&gt;&amp;gt; in aeGraphWindow::doTakeScreenshot.\n&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;me-&amp;gt;unlock();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;if (!gdk_gl_drawable_gl_begin (osDrawable, me-&amp;gt;osContext))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;me-&amp;gt;unlock();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;// OPENGL DRAWING HERE
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;gdk_gl_drawable_wait_gl(osDrawable);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;glReadBuffer(GL_FRONT);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;glReadPixels(me-&amp;gt;xviewport,me-&amp;gt;yviewport,me-&amp;gt;widthvp,me-&amp;gt;heightvp,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GL_RGBA,GL_UNSIGNED_BYTE,me-&amp;gt;screenshot_dest-
&lt;br&gt;&amp;gt; &amp;gt;data[0]);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;me-&amp;gt;unlock();
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;gdk_gl_drawable_gl_end (osDrawable);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;return FALSE;
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It appears that gdk_gl_drawable_gl_begin() is failing here. What 
&lt;br&gt;&amp;gt; could cause that? Both the context and drawable being passed are 
&lt;br&gt;&amp;gt; valid pointers. However, I did notice that 
&lt;br&gt;&amp;gt; gdk_gl_context_get_gl_drawable(me-&amp;gt;osContext) returned NULL, which 
&lt;br&gt;&amp;gt; I thought was odd.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'm not positive that my glReadPixels() is valid either, but I 
&lt;br&gt;&amp;gt; want to get past this hurdle before worrying about that one.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Any ideas?
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; gtkglext-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25160326&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25160326&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GdkGLPixmap-troubles-tp25159143p25160326.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25159143</id>
	<title>GdkGLPixmap troubles</title>
	<published>2009-08-26T11:46:58Z</published>
	<updated>2009-08-26T11:46:58Z</updated>
	<author>
		<name>Lindley</name>
	</author>
	<content type="html">I'm trying to allow an offscreen render to a pixmap to occur now, instead of trying to force an expose event while a window is offscreen like I was before.
&lt;br&gt;&lt;br&gt;I've looked over the example code in pixmap.c that comes with GtkGLExt, but my adaptation of it isn't working.
&lt;br&gt;&lt;br&gt;My configure-event handler:
&lt;br&gt;&lt;br&gt;gboolean reshapeGL(GtkWidget *widget, GdkEventConfigure *evnt, gpointer data)
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; GUIWindow* me = (GUIWindow*)data;
&lt;br&gt;&amp;nbsp; &amp;nbsp; GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
&lt;br&gt;&amp;nbsp; &amp;nbsp; GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; assert(pthread_equal(me-&amp;gt;mainthread, pthread_self()));
&lt;br&gt;&amp;nbsp; &amp;nbsp; fprintf(stderr,&amp;quot;reshaping window %d, %d %d %d %d\n&amp;quot;,me-&amp;gt;window_id,evnt-&amp;gt;x,evnt-&amp;gt;y,evnt-&amp;gt;width,evnt-&amp;gt;height);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return FALSE;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;lock();
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;xviewport = evnt-&amp;gt;x;
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;widthvp = evnt-&amp;gt;width;
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;yviewport = evnt-&amp;gt;y;
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;heightvp = evnt-&amp;gt;height;
&lt;br&gt;&amp;nbsp; &amp;nbsp; glViewport(me-&amp;gt;xviewport,me-&amp;gt;yviewport,me-&amp;gt;widthvp,me-&amp;gt;heightvp);
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;unlock();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; gdk_gl_drawable_gl_end (gldrawable);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; if (me-&amp;gt;osPixmap)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g_object_unref(me-&amp;gt;osPixmap);
&lt;br&gt;&amp;nbsp; &amp;nbsp; if (me-&amp;gt;osContext)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gdk_gl_context_destroy(me-&amp;gt;osContext);
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;osPixmap = gdk_pixmap_new (widget-&amp;gt;window,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;widget-&amp;gt;allocation.width,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;widget-&amp;gt;allocation.height,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; GdkGLConfig *glconfig = gdk_gl_config_new_by_mode (
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GdkGLConfigMode(GDK_GL_MODE_RGB &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GDK_GL_MODE_SINGLE));
&lt;br&gt;&amp;nbsp; &amp;nbsp; GdkGLDrawable *osDrawable = GDK_GL_DRAWABLE (
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gdk_pixmap_set_gl_capability (me-&amp;gt;osPixmap,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; glconfig,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NULL));
&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;osContext = gdk_gl_context_new (osDrawable,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; glcontext,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FALSE,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GDK_GL_RGBA_TYPE);
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; return FALSE;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;That all works fine so far as I can tell. There may be some issues with when exactly I'm supposed to unref something; the whole reference counting scheme is less than well-documented. However, I'm not concerned about that for now.
&lt;br&gt;&lt;br&gt;I also have this function, which is not linked to any particular event:
&lt;br&gt;&lt;br&gt;gboolean doTakeScreenshot(gpointer data)
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; GUIWindow *me = (GUIWindow *)data;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; assert(pthread_equal(me-&amp;gt;mainthread, pthread_self()));
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;lock();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; GdkGLDrawable *osDrawable = GDK_GL_DRAWABLE(me-&amp;gt;osPixmap);
&lt;br&gt;&amp;nbsp; &amp;nbsp; if (!osDrawable || !me-&amp;gt;osContext)
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fprintf(stderr, &amp;quot;Warning, no offscreen pixbuf configured in aeGraphWindow::doTakeScreenshot.\n&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; me-&amp;gt;unlock();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return FALSE;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; if (!gdk_gl_drawable_gl_begin (osDrawable, me-&amp;gt;osContext))
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; me-&amp;gt;unlock();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return FALSE;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; // OPENGL DRAWING HERE
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; gdk_gl_drawable_wait_gl(osDrawable);
&lt;br&gt;&amp;nbsp; &amp;nbsp; glReadBuffer(GL_FRONT);
&lt;br&gt;&amp;nbsp; &amp;nbsp; glReadPixels(me-&amp;gt;xviewport,me-&amp;gt;yviewport,me-&amp;gt;widthvp,me-&amp;gt;heightvp,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GL_RGBA,GL_UNSIGNED_BYTE,me-&amp;gt;screenshot_dest-&amp;gt;data[0]);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;signal(&amp;me-&amp;gt;screenshot_complete);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; me-&amp;gt;unlock();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; gdk_gl_drawable_gl_end (osDrawable);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; return FALSE;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;It appears that gdk_gl_drawable_gl_begin() is failing here. What could cause that? Both the context and drawable being passed are valid pointers. However, I did notice that gdk_gl_context_get_gl_drawable(me-&amp;gt;osContext) returned NULL, which I thought was odd.
&lt;br&gt;&lt;br&gt;I'm not positive that my glReadPixels() is valid either, but I want to get past this hurdle before worrying about that one.
&lt;br&gt;&lt;br&gt;Any ideas?
&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25159143&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GdkGLPixmap-troubles-tp25159143p25159143.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25153804</id>
	<title>Expose events and scissoring</title>
	<published>2009-08-26T07:08:44Z</published>
	<updated>2009-08-26T07:08:44Z</updated>
	<author>
		<name>Lindley</name>
	</author>
	<content type="html">I'm still trying to create a &amp;quot;screenshot&amp;quot; mechanism for my GtkDrawingArea which will work even when the area isn't visible on-screen. I've made progress, but there's still a problem.
&lt;br&gt;&lt;br&gt;The GtkDrawingArea is OpenGL-enabled (cc'ing to the GtkGLExt list), and it's very difficult to draw OpenGL to an offscreen buffer without using OpenGL extensions, which I'd prefer to avoid. So my strategy is to do a normal expose event and just glReadPixels() the image from the GL_BACK buffer before the gdk_gl_drawable_swap_buffers() call.
&lt;br&gt;&lt;br&gt;The code works insofar as the expose event is triggered and the image written. However, the image which gets written often contains portions which aren't drawn properly. I'm presuming that the expose events aren't for the entire window (despite the fact that invalidated the whole thing), and that the rest is being silently scissored off somehow and left untouched.
&lt;br&gt;&lt;br&gt;I *could* try first doing a glReadPixels on the front buffer.....one hopes that anything not currently being exposed would be there. But that seems a bit dodgy. I'd prefer to have a way to force the entire drawing area to get drawn.
&lt;br&gt;&lt;br&gt;Anyone have any ideas?
&lt;br&gt;&lt;br&gt;The code is as follows:
&lt;br&gt;&lt;br&gt;me-&amp;gt;screenshot_dest = img;//Flag to indicate the next expose should write to img
&lt;br&gt;gtk_widget_queue_draw(me-&amp;gt;drawarea);
&lt;br&gt;GdkWindow *wind = gtk_widget_get_parent_window(me-&amp;gt;drawarea);
&lt;br&gt;GdkEventExpose expose;
&lt;br&gt;expose.type = GDK_EXPOSE;
&lt;br&gt;expose.window = wind;
&lt;br&gt;expose.send_event = TRUE;
&lt;br&gt;expose.area.x = 0;
&lt;br&gt;expose.area.y = 0;
&lt;br&gt;expose.area.width = 0;
&lt;br&gt;expose.area.height = 0;
&lt;br&gt;expose.region = NULL;
&lt;br&gt;expose.count = 0;
&lt;br&gt;GdkEvent e;
&lt;br&gt;e.expose = expose;
&lt;br&gt;gtk_widget_send_expose(me-&amp;gt;drawarea,&amp;e);
&lt;br&gt;me-&amp;gt;screenshot_dest = NULL;//done
&lt;br&gt;&lt;br&gt;I did wonder whether the fact that my expose event has 0 size would make a difference; I don't use the parameter in my function, but I really don't understand the mechanism well enough to say where else it might be relevant.
&lt;br&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25153804&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Expose-events-and-scissoring-tp25153804p25153804.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25057157</id>
	<title>Bug in shaders with Mea 7.5 devel driver with Intel 965GM chipset</title>
	<published>2009-08-20T00:17:54Z</published>
	<updated>2009-08-20T00:17:54Z</updated>
	<author>
		<name>Gilbert Brisset</name>
	</author>
	<content type="html">We develop an application displaying video thanks to OpenGL and GLSL shader.
&lt;br&gt;The shader is used to process YUV to RGB space color conversion, and 
&lt;br&gt;image enhencements as edge enhencement.
&lt;br&gt;OpenGL is used to process resizings - all kind of zooms.
&lt;br&gt;This application was first developped to run on a PC with NVIDIA FX 
&lt;br&gt;Quadro GPU, Linux Fedora 10, Nvidia closed source driver
&lt;br&gt;and was written in Java with the LWJGL OpenGL wrapper for Java.
&lt;br&gt;We have test programs developped in C for GTK that use the gtkglext 
&lt;br&gt;OpenGL wrapper for GTK.
&lt;br&gt;These programs have been tested with the following wrappers :
&lt;br&gt;GLUT, gtkglext, gtkglarea and native GLX.
&lt;br&gt;We want now to develop the same kind of application but for a low 
&lt;br&gt;consumption embedded platform.
&lt;br&gt;So we want it to run on an Intel 965 GM chipset based hardware.
&lt;br&gt;We are trying our test programs on this platform with Fedora 11, the 
&lt;br&gt;Intellinux 2D driver and the Mesa 3D 7.5-devel driver.
&lt;br&gt;The drivers come from the Fedora repositories.
&lt;br&gt;In this case the colors appear pink with the gtkglarea, gtkglext and 
&lt;br&gt;LWJGL wrappers.
&lt;br&gt;The colors appear correct with GLUT and GLX.
&lt;br&gt;After a lot of experiments I have changed the YUV to RGB conversion 
&lt;br&gt;shader by the following :
&lt;br&gt;&lt;br&gt;void main(void)
&lt;br&gt;{
&lt;br&gt;float r, g, b ;
&lt;br&gt;r = 0.5 ; g = 0.5 ; b = 0.5 ;
&lt;br&gt;gl_FragColor = vec4(r, g, b, 1.0) ;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;I expected a grey display.
&lt;br&gt;I get grey with GLUT and GLX but black with gtkglext and gtkglarea (not 
&lt;br&gt;tried on Java).
&lt;br&gt;&lt;br&gt;I change the shader for the fiollowing :
&lt;br&gt;&lt;br&gt;void main(void)
&lt;br&gt;{
&lt;br&gt;float r, g, b ;
&lt;br&gt;r = 1.0 / 2.0 ; g = &amp;nbsp;1.0 / 2.0 ; b = 1.0 / 2.0 &amp;nbsp;;
&lt;br&gt;gl_FragColor = vec4(r, g, b, 1.0) ;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;I get grey for all wrappers.
&lt;br&gt;Fun isn't it !!
&lt;br&gt;&lt;br&gt;So this leads to a walk around to the above problem.
&lt;br&gt;In the YUV to RGB shader given, I can replace all the color space
&lt;br&gt;conversion matrix coefficients constants by fractionnal constants. For
&lt;br&gt;exemple
&lt;br&gt;replace :
&lt;br&gt;y &amp;nbsp;= 1.1643 * (y - 0.0625) ;
&lt;br&gt;by
&lt;br&gt;y &amp;nbsp;= 2.3286 / 2.0 * (y - 0.125 / 2.0 ) ;
&lt;br&gt;&lt;br&gt;And the colors are correct.
&lt;br&gt;&lt;br&gt;BUT, if I try to display a pure colors red green blue black pattern, 
&lt;br&gt;the final computed RGB values depends on the used wrapper.
&lt;br&gt;&lt;br&gt;It is expected that my shader, fed with the pattern, computes the
&lt;br&gt;following r, g, b values :
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; R &amp;nbsp; G &amp;nbsp; B
&lt;br&gt;blue &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp; 255
&lt;br&gt;green 0 &amp;nbsp; 255 0
&lt;br&gt;red &amp;nbsp; 255 0 &amp;nbsp; 0
&lt;br&gt;black 0 &amp;nbsp; 0 &amp;nbsp; 0
&lt;br&gt;We get the following values with GLUT and GLX
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; R &amp;nbsp; G &amp;nbsp; B
&lt;br&gt;blue &amp;nbsp;17 &amp;nbsp;63 &amp;nbsp;255
&lt;br&gt;green 32 &amp;nbsp;245 0
&lt;br&gt;red &amp;nbsp; 209 0 &amp;nbsp; 0
&lt;br&gt;black 1 &amp;nbsp; 0 &amp;nbsp; 1
&lt;br&gt;We get the following values with gtkglarea and gtkglext
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; R &amp;nbsp; G &amp;nbsp; B
&lt;br&gt;blue &amp;nbsp;26 &amp;nbsp;101 255
&lt;br&gt;green 34 &amp;nbsp;181 0
&lt;br&gt;red &amp;nbsp; 210 0 &amp;nbsp; 6
&lt;br&gt;black 17 &amp;nbsp;16 &amp;nbsp;17
&lt;br&gt;&lt;br&gt;Conclusion :
&lt;br&gt;- there is obviously a bug in way gtkglarea and gtkglext drive the shader
&lt;br&gt;compilation.
&lt;br&gt;- there is an extra processing in the OpenGL pipeline which is different
&lt;br&gt;between the two kind of frameworks that modify the colors.
&lt;br&gt;&lt;br&gt;Have anybody an idea ?
&lt;br&gt;&lt;br&gt;I attach a tar file with the demo and its makefile.
&lt;br&gt;This demo has been tested on an Lenovo R61 Laptop with Intel 965 GM 
&lt;br&gt;chipset and Fedora 11 (pink colors with gtkglext and gtkglarea)
&lt;br&gt;and on a Dell M4400 laptop with Nvidia Quadro GPU with Nvidia closed 
&lt;br&gt;source driver and Fedora 10 (correct colors with all wrappers).
&lt;br&gt;&lt;br&gt;The demo is intended to display a red green blue checkerboard shaped 
&lt;br&gt;pattern.
&lt;br&gt;GlxInfo data for the two above hardwares are attached in the tar file.
&lt;br&gt;Just replace the &amp;nbsp;xx.fs shader with the above shaders.
&lt;br&gt;&lt;br&gt;Thank you.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;br /&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25057157&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;yuvglxdemo.tar&lt;/strong&gt; (1M) &lt;a href=&quot;http://old.nabble.com/attachment/25057157/0/yuvglxdemo.tar&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Bug-in-shaders-with-Mea-7.5-devel-driver-with-Intel-965GM-chipset-tp25057157p25057157.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24947590</id>
	<title>GDK + GtkGLExt code example</title>
	<published>2009-08-12T18:50:10Z</published>
	<updated>2009-08-12T18:50:10Z</updated>
	<author>
		<name>Mihai Draghicioiu</name>
	</author>
	<content type="html">Hello. I have written this code example, for using GDK, GtkGLExt, and without using GTK+. It might be useful if you include it in the examples directory.&lt;br&gt;&lt;br&gt;Here&amp;#39;s ya link:&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.gtkforums.com/viewtopic.php?p=10586#10586&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gtkforums.com/viewtopic.php?p=10586#10586&lt;/a&gt;&lt;br&gt;
&lt;br&gt;Here&amp;#39;s ya code: (in case you don&amp;#39;t believe me :D )&lt;br&gt;&lt;br&gt;&lt;span class=&quot;postbody&quot;&gt;&lt;span class=&quot;pp&quot;&gt;#include &lt;/span&gt;&lt;span class=&quot;ic&quot;&gt;&amp;lt;glib.h&amp;gt;
&lt;br&gt;
&lt;/span&gt;&lt;span class=&quot;pp&quot;&gt;#include &lt;/span&gt;&lt;span class=&quot;ic&quot;&gt;&amp;lt;gdk/gdk.h&amp;gt;
&lt;br&gt;
&lt;/span&gt;&lt;span class=&quot;pp&quot;&gt;#include &lt;/span&gt;&lt;span class=&quot;ic&quot;&gt;&amp;lt;gdk/gdkgl.h&amp;gt;
&lt;br&gt;
&lt;/span&gt;&lt;span class=&quot;pp&quot;&gt;#include &lt;/span&gt;&lt;span class=&quot;ic&quot;&gt;&amp;lt;GL/gl.h&amp;gt;
&lt;br&gt;

&lt;br&gt;
&lt;/span&gt;&lt;span class=&quot;pp&quot;&gt;#include &lt;/span&gt;&lt;span class=&quot;ic&quot;&gt;&amp;quot;vec.h&amp;quot;
&lt;br&gt;

&lt;br&gt;
&lt;/span&gt;&lt;span class=&quot;c&quot;&gt;// uncomment this to enable blocking behavior
&lt;br&gt;
// that means that the cpu is used minimally (only when an event occurs)
&lt;br&gt;
// leave it disabled for full FPS (like most games)
&lt;br&gt;
//#define BLOCKING
&lt;br&gt;

&lt;br&gt;
&lt;/span&gt;GdkGLWindow *glwin = &lt;span class=&quot;pc&quot;&gt;NULL&lt;/span&gt;;
&lt;br&gt;
GdkGLContext *glcontext = &lt;span class=&quot;pc&quot;&gt;NULL&lt;/span&gt;;
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#ifdef &lt;/span&gt;BLOCKING
&lt;br&gt;
GMainLoop *mainloop;
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#else
&lt;br&gt;
&lt;/span&gt;gboolean done = &lt;span class=&quot;pc&quot;&gt;false&lt;/span&gt;;
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#endif
&lt;br&gt;
&lt;/span&gt;&lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;width = &lt;span class=&quot;i&quot;&gt;800&lt;/span&gt;, height = &lt;span class=&quot;i&quot;&gt;600&lt;/span&gt;;
&lt;br&gt;

&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#define &lt;/span&gt;TILESIZE &lt;span class=&quot;i&quot;&gt;32
&lt;br&gt;
&lt;/span&gt;&lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;tilex, tiley;
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#define &lt;/span&gt;XTILES &lt;span class=&quot;i&quot;&gt;128
&lt;br&gt;
&lt;/span&gt;&lt;span class=&quot;pp&quot;&gt;#define &lt;/span&gt;YTILES &lt;span class=&quot;i&quot;&gt;128
&lt;br&gt;
&lt;/span&gt;&lt;span class=&quot;pt&quot;&gt;unsigned char &lt;/span&gt;tiles[YTILES * XTILES];
&lt;br&gt;

&lt;br&gt;
&lt;span class=&quot;pt&quot;&gt;void &lt;/span&gt;resize(&lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;w, &lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;h, GdkGLDrawable *drawable) {
&lt;br&gt;
    &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt;(gdk_gl_drawable_gl_begin(drawable, glcontext)) {
&lt;br&gt;
        glViewport(&lt;span class=&quot;i&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;i&quot;&gt;0&lt;/span&gt;, w, h);
&lt;br&gt;
        width = w; height = h;
&lt;br&gt;
        gdk_gl_drawable_gl_end(drawable);
&lt;br&gt;
    }
&lt;br&gt;
}
&lt;br&gt;

&lt;br&gt;
&lt;span class=&quot;pt&quot;&gt;void &lt;/span&gt;draw(GdkGLDrawable *drawable) {
&lt;br&gt;
    &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt;(!gdk_gl_drawable_gl_begin(drawable, glcontext)) &lt;span class=&quot;r&quot;&gt;return&lt;/span&gt;;
&lt;br&gt;

&lt;br&gt;
    glClearColor(&lt;span class=&quot;fl&quot;&gt;.1&lt;/span&gt;, &lt;span class=&quot;fl&quot;&gt;.3&lt;/span&gt;, &lt;span class=&quot;fl&quot;&gt;.5&lt;/span&gt;, &lt;span class=&quot;fl&quot;&gt;1.0&lt;/span&gt;);
&lt;br&gt;
    glClear(GL_COLOR_BUFFER_BIT);
&lt;br&gt;
    glMatrixMode(GL_PROJECTION);
&lt;br&gt;
    glLoadIdentity();
&lt;br&gt;
    glOrtho(&lt;span class=&quot;i&quot;&gt;0&lt;/span&gt;, width, height, &lt;span class=&quot;i&quot;&gt;0&lt;/span&gt;, -&lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;); &lt;span class=&quot;c&quot;&gt;// this corresponds to the window coordinates 1:1, so we don&amp;#39;t have to do any coordinate translation
&lt;br&gt;
    &lt;/span&gt;glMatrixMode(GL_MODELVIEW);
&lt;br&gt;
    glLoadIdentity();
&lt;br&gt;
    glBegin(GL_QUADS);
&lt;br&gt;
    glColor3f(&lt;span class=&quot;fl&quot;&gt;.9&lt;/span&gt;, &lt;span class=&quot;fl&quot;&gt;.5&lt;/span&gt;, &lt;span class=&quot;fl&quot;&gt;.2&lt;/span&gt;);
&lt;br&gt;
    &lt;span class=&quot;r&quot;&gt;for&lt;/span&gt;(&lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;x = &lt;span class=&quot;i&quot;&gt;0&lt;/span&gt;; x &amp;lt; XTILES; x++) {
&lt;br&gt;
        &lt;span class=&quot;r&quot;&gt;for&lt;/span&gt;(&lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;y = &lt;span class=&quot;i&quot;&gt;0&lt;/span&gt;; y &amp;lt; YTILES; y++) {
&lt;br&gt;
            &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt;(tiles[x + y * XTILES]) {
&lt;br&gt;
                glVertex2i(x * TILESIZE, y * TILESIZE);
&lt;br&gt;
                glVertex2i((x + &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;) * TILESIZE, y * TILESIZE);
&lt;br&gt;
                glVertex2i((x + &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;) * TILESIZE, (y + &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;) * TILESIZE);
&lt;br&gt;
                glVertex2i(x * TILESIZE, (y + &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;) * TILESIZE);
&lt;br&gt;
            }
&lt;br&gt;
        }
&lt;br&gt;
    }
&lt;br&gt;
    glEnd();
&lt;br&gt;
    glBegin(GL_LINE_LOOP);
&lt;br&gt;
        glVertex2i(tilex * TILESIZE, tiley * TILESIZE);
&lt;br&gt;
        glVertex2i((tilex + &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;) * TILESIZE, tiley * TILESIZE);
&lt;br&gt;
        glVertex2i((tilex + &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;) * TILESIZE, (tiley + &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;) * TILESIZE);
&lt;br&gt;
        glVertex2i(tilex * TILESIZE, (tiley + &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;) * TILESIZE);
&lt;br&gt;
    glEnd();
&lt;br&gt;

&lt;br&gt;
    &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt;(gdk_gl_drawable_is_double_buffered(drawable)) gdk_gl_drawable_swap_buffers(drawable);
&lt;br&gt;
    &lt;span class=&quot;r&quot;&gt;else &lt;/span&gt;glFlush();
&lt;br&gt;

&lt;br&gt;
    gdk_gl_drawable_gl_end(drawable);
&lt;br&gt;
}
&lt;br&gt;

&lt;br&gt;
&lt;span class=&quot;r&quot;&gt;static &lt;/span&gt;&lt;span class=&quot;pt&quot;&gt;void &lt;/span&gt;toggle_tile(&lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;tx, &lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;ty) {
&lt;br&gt;
    &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt;(tx &amp;gt;= &lt;span class=&quot;i&quot;&gt;0 &lt;/span&gt;&amp;amp;&amp;amp; tx &amp;lt; XTILES &amp;amp;&amp;amp; ty &amp;gt;= &lt;span class=&quot;i&quot;&gt;0 &lt;/span&gt;&amp;amp;&amp;amp; ty &amp;lt;= YTILES)
&lt;br&gt;
        tiles[tx + XTILES * ty] ^= &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;;
&lt;br&gt;
}
&lt;br&gt;
&lt;span class=&quot;r&quot;&gt;static &lt;/span&gt;&lt;span class=&quot;pt&quot;&gt;void &lt;/span&gt;event_func(GdkEvent *ev, gpointer data) {
&lt;br&gt;
    GdkGLDrawable *drawable = gdk_window_get_gl_drawable(ev-&amp;gt;any.window);
&lt;br&gt;
    &lt;span class=&quot;r&quot;&gt;switch&lt;/span&gt;(ev-&amp;gt;type) {
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#ifdef &lt;/span&gt;BLOCKING
&lt;br&gt;
        &lt;span class=&quot;r&quot;&gt;case &lt;/span&gt;&lt;span class=&quot;la&quot;&gt;GDK_EXPOSE: &lt;/span&gt;&lt;span class=&quot;c&quot;&gt;// when in blocking mode, only redraw when the window is exposed (damaged)
&lt;br&gt;
            &lt;/span&gt;draw(drawable);
&lt;br&gt;
            &lt;span class=&quot;r&quot;&gt;break&lt;/span&gt;;
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#endif
&lt;br&gt;
        &lt;/span&gt;&lt;span class=&quot;r&quot;&gt;case &lt;/span&gt;&lt;span class=&quot;la&quot;&gt;GDK_DELETE:
&lt;br&gt;
&lt;/span&gt;&lt;span class=&quot;pp&quot;&gt;#ifdef &lt;/span&gt;BLOCKING
&lt;br&gt;
            g_main_loop_quit(mainloop);
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#else
&lt;br&gt;
            &lt;/span&gt;done = &lt;span class=&quot;pc&quot;&gt;true&lt;/span&gt;;
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#endif
&lt;br&gt;
            &lt;/span&gt;&lt;span class=&quot;r&quot;&gt;break&lt;/span&gt;;
&lt;br&gt;
        &lt;span class=&quot;r&quot;&gt;case &lt;/span&gt;&lt;span class=&quot;la&quot;&gt;GDK_MOTION_NOTIFY:
&lt;br&gt;
        &lt;/span&gt;{
&lt;br&gt;
            &lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;tx = ev-&amp;gt;motion.x / TILESIZE;
&lt;br&gt;
            &lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;ty = ev-&amp;gt;motion.y / TILESIZE;
&lt;br&gt;
            &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt;(tilex != tx || tiley != ty) {
&lt;br&gt;
                tilex = tx; tiley = ty;
&lt;br&gt;
                &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt;(ev-&amp;gt;motion.state &amp;amp; GDK_BUTTON1_MASK) toggle_tile(tx, ty);
&lt;br&gt;
                draw(drawable);
&lt;br&gt;
            }
&lt;br&gt;
            &lt;span class=&quot;r&quot;&gt;break&lt;/span&gt;;
&lt;br&gt;
        }
&lt;br&gt;
        &lt;span class=&quot;r&quot;&gt;case &lt;/span&gt;&lt;span class=&quot;la&quot;&gt;GDK_BUTTON_PRESS:
&lt;br&gt;
            &lt;/span&gt;&lt;span class=&quot;r&quot;&gt;if&lt;/span&gt;(ev-&amp;gt;button.button == &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;) {
&lt;br&gt;
                &lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;tx = ev-&amp;gt;button.x / TILESIZE;
&lt;br&gt;
                &lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;ty = ev-&amp;gt;button.y / TILESIZE;
&lt;br&gt;
                toggle_tile(tx, ty);
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#ifdef &lt;/span&gt;BLOCKING
&lt;br&gt;
                draw(drawable);
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#endif
&lt;br&gt;
            &lt;/span&gt;}
&lt;br&gt;
            &lt;span class=&quot;r&quot;&gt;break&lt;/span&gt;;
&lt;br&gt;
        &lt;span class=&quot;r&quot;&gt;case &lt;/span&gt;&lt;span class=&quot;la&quot;&gt;GDK_CONFIGURE:
&lt;br&gt;
            &lt;/span&gt;resize(ev-&amp;gt;configure.width, ev-&amp;gt;configure.height, drawable);
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#ifdef &lt;/span&gt;BLOCKING
&lt;br&gt;
            draw(drawable);
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#endif
&lt;br&gt;
            &lt;/span&gt;&lt;span class=&quot;r&quot;&gt;break&lt;/span&gt;;
&lt;br&gt;
    }
&lt;br&gt;
}
&lt;br&gt;

&lt;br&gt;
&lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;main(&lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;argc, &lt;span class=&quot;pt&quot;&gt;char &lt;/span&gt;**argv) {
&lt;br&gt;
    gdk_init(&amp;amp;argc, &amp;amp;argv);
&lt;br&gt;
    gdk_gl_init(&amp;amp;argc, &amp;amp;argv);
&lt;br&gt;

&lt;br&gt;
    &lt;span class=&quot;pt&quot;&gt;int &lt;/span&gt;config_attributes[] = {
&lt;br&gt;
        GDK_GL_DOUBLEBUFFER,
&lt;br&gt;
        GDK_GL_RGBA,
&lt;br&gt;
        GDK_GL_RED_SIZE,        &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;,
&lt;br&gt;
        GDK_GL_GREEN_SIZE,      &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;,
&lt;br&gt;
        GDK_GL_BLUE_SIZE,       &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;,
&lt;br&gt;
        GDK_GL_DEPTH_SIZE,      &lt;span class=&quot;i&quot;&gt;12&lt;/span&gt;,
&lt;br&gt;
        GDK_GL_ATTRIB_LIST_NONE
&lt;br&gt;
    };
&lt;br&gt;
    GdkGLConfig *glc = gdk_gl_config_new(config_attributes);
&lt;br&gt;

&lt;br&gt;
    GdkWindowAttr attr;
&lt;br&gt;
    attr.title = argv[&lt;span class=&quot;i&quot;&gt;0&lt;/span&gt;];
&lt;br&gt;
    attr.event_mask = GDK_KEY_PRESS_MASK | GDK_BUTTON_PRESS_MASK |
GDK_POINTER_MOTION_MASK | GDK_STRUCTURE_MASK | GDK_EXPOSURE_MASK;
&lt;br&gt;
    attr.window_type = GDK_WINDOW_TOPLEVEL;
&lt;br&gt;
    attr.wclass = GDK_INPUT_OUTPUT;
&lt;br&gt;
    attr.width = width;
&lt;br&gt;
    attr.height = height;
&lt;br&gt;
    GdkWindow *win = gdk_window_new(&lt;span class=&quot;pc&quot;&gt;NULL&lt;/span&gt;, &amp;amp;attr, &lt;span class=&quot;i&quot;&gt;0&lt;/span&gt;);
&lt;br&gt;

&lt;br&gt;
    gdk_window_show(win);
&lt;br&gt;

&lt;br&gt;
    glwin = gdk_window_set_gl_capability(win, glc, &lt;span class=&quot;pc&quot;&gt;NULL&lt;/span&gt;);
&lt;br&gt;
    glcontext = gdk_gl_context_new(GDK_GL_DRAWABLE(glwin), &lt;span class=&quot;pc&quot;&gt;NULL&lt;/span&gt;, &lt;span class=&quot;pc&quot;&gt;true&lt;/span&gt;, GDK_GL_RGBA_TYPE);
&lt;br&gt;

&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#ifdef &lt;/span&gt;BLOCKING
&lt;br&gt;
    gdk_event_handler_set(event_func, &lt;span class=&quot;pc&quot;&gt;NULL&lt;/span&gt;, &lt;span class=&quot;pc&quot;&gt;NULL&lt;/span&gt;); &lt;span class=&quot;c&quot;&gt;// this is used by GTK+ internally. We just use it for ourselves here
&lt;br&gt;

&lt;br&gt;
    &lt;/span&gt;mainloop = g_main_loop_new(g_main_context_default(), FALSE);
&lt;br&gt;
    g_main_loop_run(mainloop);
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#else
&lt;br&gt;
    &lt;/span&gt;&lt;span class=&quot;r&quot;&gt;while&lt;/span&gt;(!done) {
&lt;br&gt;
        &lt;span class=&quot;r&quot;&gt;while&lt;/span&gt;(gdk_events_pending()) {
&lt;br&gt;
            GdkEvent *ev = gdk_event_get();
&lt;br&gt;
            &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt;(ev) {
&lt;br&gt;
                event_func(ev, &lt;span class=&quot;pc&quot;&gt;NULL&lt;/span&gt;);
&lt;br&gt;
                gdk_event_free(ev);
&lt;br&gt;
            }
&lt;br&gt;
        }
&lt;br&gt;
        draw(GDK_GL_DRAWABLE(glwin));
&lt;br&gt;
    }
&lt;br&gt;
&lt;span class=&quot;pp&quot;&gt;#endif
&lt;br&gt;

&lt;br&gt;
    &lt;/span&gt;gdk_gl_window_destroy(glwin);
&lt;br&gt;
    gdk_window_destroy(win);
&lt;br&gt;

&lt;br&gt;
    &lt;span class=&quot;r&quot;&gt;return &lt;/span&gt;&lt;span class=&quot;i&quot;&gt;0&lt;/span&gt;;
&lt;br&gt;
}
&lt;br&gt;&lt;br&gt;&lt;/span&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;gtkglext-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24947590&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtkglext-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.gnome.org/mailman/listinfo/gtkglext-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.gnome.org/mailman/listinfo/gtkglext-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GDK-%2B-GtkGLExt-code-example-tp24947590p24947590.html" />
</entry>

</feed>
