Time flies. 4 weeks old already? Where does it go? Lost in a blur of nappies, puke and caffeine. One the upside, I get to wallow in all the silly milestones (look forward to 3/6/12 and 18 months!).
Though growing fast, there is still time for chilling out with dad on the floor:
Of course modelling some attractive headgear provides lots of light entertainment:
It turns out to be a lot harder than Dad expected to cook cake in between nappy demands. On the upside, the cake was very nice thank you Amelia. Mummy and Daddy will happily take care of finishing it for you.
After all the excitement, time to go to bed. For all of us:
So looking through the codebases for gtkglarea and gtkglext the contrast in approaches is pretty stark:
|separates platform specific code
||maintained for the moment
For my purposes, I think I’m best to port back to gtkglarea. It is maintained for now (not to slight the current maintainers, just we’ve been through this dance before).
I’ve done the port. Since kludge3d used gtkglarea in the past it wasn’t really that hard. So for now I’d say unless you need gtkglext’s extra features, use gtkglarea.
Once upon a time, kludge3d (and g3d before it) implemented OpenGL rendering via gtkglarea. gtkglarea (developed by J. Löf and originally hosted at http://www.student.oulu.fi/~jlof/gtkglarea/ – now a dead site) it provided a gtkdrawingarea like widget. Then some time goes by and gtkglarea seems to have gone unmaintained.
In the meantime, gtkglext had come into existence. So by the kludge3d 2003-07-18 release, gtkglext was the display option of choice. gtkglext offered the possibility of placing an OpenGL view onto any GTK+ widget. (Though I’ve never been convinced that you need to do that very often).
So then in 2008, I get my first Vista based laptop. At work, I’ve been internally maintaining a version of kludge3d for many years. I was disappointed that kludge3d only worked properly with desktop compositing turned off. It is not the end of the world sure, but it looks bad, and anyway, it should be fixable right? A quick look at the gtkglext source made it clear I didn’t really have the understanding of how gdk actually does anything on win32. With deadlines looming and the fact that my users were all on XP, I shelved further investigation.
Fastforward to now. Vista or Windows7 is in our corporate future. So while trawling the gtkglext mailing lists I see a post from Mike Farrell. He suggested enabling PFD_SUPPORT_COMPOSITION based on the information at OpenGL.org. Unfortunately the suggested patch didn’t work for me, but did get me digging into the gtkglext source code again. I worked out some of the path from GTK to the screen. gtkglext looks like it is violating the assumptions that DWM has about GDI and the OpenGL context.
Enter a new gtkglarea. (http://www.mono-project.com/GtkGLArea). It looks like it is being maintained again. And hey, it builds properly on windows with mingw out of the box. And better yet, all of the examples run properly with desktop compositing enabled. Woohoo.
So now the question is:
- fix gtkglext
- port kludge3d back to gtkglarea?
Cool and wet today. Actually perfect to stay at home and play house. I mean that in a good way.
Sometimes its best to sleep late…
… ponder the state of the universe…
… and fool around with daddy.
‘Cause you never know when someone inconsiderate will give you a bath!
But its nice to hold hands afterward.
Funny thing. We’ve lived in our flat for 6 years. But only this year have the local cockatoos started to visit our balcony. One bird we’ve named Bryan is a regular and pretty quirky. So within a couple of hours of coming home, we had Bryan looking through the window while May and Amelia had a late lunch.
After lunch it was time for a sleep. As long as the neighbours lay off the home improvements, it will be sweet.