Announcing iGLU: OpenGL Utility Library for iPhone OS
Recently, while working on an OpenGL-based iPhone application, I found that I needed to use tessellation to transform some complex polygons into triangles. The OpenGL Utility Library (GLU) supports tessellation (via GLUtesselator). Unfortunately, iPhone OS doesn't include a GLU implementation.
After failing to find a standalone tessellation library that met my needs, I decided to take a look at the GLU implementation included with Mesa. The Mesa GLU is based on code from SGI's OpenGL Sample Implementation, and it turned out to be relatively easy to extract it from MesaLib. After some minor changes to the source and Makefiles, I succeeded in producing libGLU.a's for both the iPhone simulator and the device.
Since this may be of interest to other iPhone developers, I've packaged it up and released it as iGLU. Note that several GLU features (specifically, mipmapping, quadrics, and NURBS) are missing from iGLU, as their implementations depend on functionality that is absent in OpenGL ES 1.1. If someone wants to provide ES-compatible implementations of these features, I'd be happy to include them in iGLU, but I have neither the time nor the inclination to write them myself.
I hope some folks find this package useful. Please direct any questions, comments, or bug reports to the iphone-glu group.
Tags: iglu, iphone, opengl
Sun, 28 Sep 2008 22:57 UTC
Projects
Here's a list of free software projects I've written or worked on:
- iGLU
- OpenGL Utility Library (GLU) for iPhone OS
- multitask
- Cooperative multitasking and asynchronous I/O using Python generators
- pybonjour
- Pure-Python interface to Apple Bonjour and compatible DNS-SD libraries
- Bonjour
- I wrote some patches to support Windows Mobile/CE.
- i2py
- Convert IDL to Python
- PySL
- Use S-Lang from Python (and vice versa)
- SLglade
- S-Lang bindings for libglade
Tags: apple, bonjour, iphone, opengl, python, s-lang
Sat, 13 Sep 2008 14:53 UTC
Forcing an iPhone or iPod touch into recovery mode
When Apple released iPhone OS 2.0.1, iTunes installed the update on my iPhone without any trouble, but it refused to update my iPod touch, insisting that version 2.0 was the latest. I tried restoring it but got an error message saying "resource not available" (or something like that).
I thought the problem might be that I had been using the iPod touch for application development and therefore was running the final iPhone OS 2.0 beta (build 5A345) instead of the "official" 2.0 release. I even tried purchasing the official update, but for some reason I was unable to download it. (Fortunately, an iTunes Store support person refunded my $10.)
As it turns out, I wasn't the only one having this problem, and one helpful forum user eventually discovered a solution, which is to force the device into recovery mode. By following Apple's instructions, I successfully updated my iPod touch to 2.0.1 (although I didn't try restoring any backed-up data, since I use the device only for development and don't sync it with iTunes). This procedure should work for iPhones, too, so if you've been unable to update your device by the usual methods, give this a shot.