January 02, 2003
QD3D Revived

On a whim, I decided to try to port my QuickDraw 3D lisp interface code to MCL 5.0 Beta, under OS X.

Arturo's Tacos on Western Ave in Chicago, 2:46 am

QuickDraw 3D doesn't actually exist anymore, at least not as a public API provided as part of OS X. But years ago, when Apple announced that it was ceasing development on QD3D and focusing on OpenGL, several people began working on an open source implementation of the QD3D API, called Quesa. A few weeks ago I saw an announcement in Apple's Developer Connection News about a new version of Quesa. Despite a confusing, and at times broken, website, the project seems to be making progress. In particular, I noticed that there was at least some support for mesh geometries, which I used to use heavily.

After installing Quesa, changing a few library names in my code and performing some trivial Carbonization (DisposPtr is now DisposePtr), I was able to load a 3DMF (the QuickDraw 3D file format) model.

As soon as I try to display the model, however, an error message is printed to the listener and then, before I can read it, MCL crashes. Unfortunately, dribble seems to be useless in catching output from MCL's event handling process, so I'm a little stuck. Causing an abort in error doesn't prevent the crash, so I guess I'm going to have to advise error to write messages to a file.

Coincidentally, two days after I started working on this someone asked about the status of the code on info-mcl.

My daydream: To generalize the interface to run on a bunch of implementations, supporting the platforms that Quesa supports (Windows, Mac, Unix). UFFI is an obvious possibility, though I'll still need per-implementation code to create windows and things.

Posted by jjwiseman at January 02, 2003 12:03 AM
Post a comment

Email Address:


Unless you answer this question, your comment will be classified as spam and will not be posted.
(I'll give you a hint: the answer is “lisp”.)


Remember info?