{"id":58,"date":"2006-06-21T15:10:38","date_gmt":"2006-06-21T23:10:38","guid":{"rendered":"http:\/\/wp.colliertech.org\/cj\/?p=58"},"modified":"2006-06-21T15:10:38","modified_gmt":"2006-06-21T23:10:38","slug":"quake-mdl-loader-bits-and-a-more-managed-gtkglarea-sharp","status":"publish","type":"post","link":"https:\/\/wp.c9h.org\/cj\/?p=58","title":{"rendered":"Quake mdl loader bits and a (more) managed gtkglarea-sharp"},"content":{"rendered":"<p>So&#8230; Now that I&#8217;m unemployed, I&#8217;ve got a few minutes to work on some mono stuff.<\/p>\n<p>I&#8217;ve committed a quake .mdl file loader to the GtkGLAreaSharp examples directory.  I&#8217;ve got plans to display the model using the framework, but that&#8217;s not quite finished yet.<\/p>\n<p>On #mono today, someone asked for an interesting feature.  They think that there should be an onDestroy handler or some such that fires during widget deconstruction.  This reminded me that I have not completed the semi-managed code that I&#8217;ve been working on.  Alp has been recommending it for quite some time, but I&#8217;ve been busy with work and family.  The basic idea is that rather than depending on the c version of gtkglarea and calling into it using P\/Invoke, GtkGLAreaSharp should bind directly to X and GLX to create the OpenGL context.<\/p>\n<p>I&#8217;ve modified the project&#8217;s configure.ac file so that users can specify &#8211;unmanaged if they wish to bind to the C version.  Otherwise, it will use the new managed version.<\/p>\n<p>But first, I&#8217;ve got to get it working :)<\/p>\n<p>Enough talk.  Back to hacking.<\/p>\n\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=cjamescollier\" class=\"twitter-share-button\">Tweet<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>So&#8230; Now that I&#8217;m unemployed, I&#8217;ve got a few minutes to work on some mono stuff. I&#8217;ve committed a quake .mdl file loader to the GtkGLAreaSharp examples directory. I&#8217;ve got plans to display the model using the framework, but that&#8217;s not quite finished yet. On #mono today, someone asked for an interesting feature. They think [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[38,62,21,7,51],"tags":[],"class_list":["post-58","post","type-post","status-publish","format-standard","hentry","category-c","category-gtk","category-gtkglarea-sharp","category-mono","category-opengl"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1YDIB-W","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/58","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=58"}],"version-history":[{"count":0,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/58\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=58"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=58"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}