QD3D
From Aleph One Wiki
The Case Against QuickDraw 3D
Return to History
Chris Pruett 11/27/00.
First of all, QD3D is pretty much a dying format. With the exception of the Quesa project, no-one is using it for anything. There are some cool game-related utilities out there for QD3D (including the Queeg game toolkit for Quesa and Brian Greenstone's skinning/bone animation tools from Pangea Software (www.pangeasoft.net)), and a cool 3D modeling program (Meshwork; http://codenautics.com/meshwork/) but thats pretty much it. Part of the reasoning behind this is that QD3D is no longer being supported by Apple and was never all that fast to begin with. Even Brian Greenstone, the guy behind Bugdom and Nanosaur (the only two cool games ever made with QD3D) has moved to OpenGL for his latest game (Cro-Mag Rally).
Secondly, it would be a pain in the ass to try to mix 3D systems. Think about how clipping works: if a Z-Buffer is used, everything is drawn back to front. Otherwise, items are drawn as the camera's ray hits them, and items behind others are clipped. If one had to implement a separate 3D call within the OpenGL draw context, it would mean a lot of work. Probably one would end up rendering the enemy frames separately and then just placing them as textures on flat boxes within the OpenGL world (which is how 2D sprites are drawn now). Thats dumb, because it requires a separate 3D engine to go do its thing while OpenGL takes a break. Also, all the cool 3D effects like lighting, etc, would be kapoot. You might as well just render frames in another program and save them as 2D sprites. If 3D sprites were to be implemented, it would only be worth it if they were all drawn by OpenGL.
So, if one were to sit down and write the code necessary to display sprites in the Aleph One OpenGL world (which, by the way, is not an easy task), there are still problems. First of all, you have just killed software rendering for good. That is bad, since a lot of us can't even use OpenGL mode thanks to our video cards. The requirements suddenly jump from "Any PowerPC" to "Any G3 or better with a Rage 128 card or better"... which sucks.
Also, once you have the code, one still has to generate the content. There are several animation and texturing methods, like frame-based object texturing (easiest, requires high artistic skill to look good... looks like early Playstation games like Toshinden 2) or bone-based skinning (little harder to texture, need a program that can work on bones, looks a lot better), but in any case, someone has to sit down and make the models and animate them. This is a huge task.
Cool idea, but I am not sure it is feasible at the moment. If Crystal Space has some character animation code, maybe we can use it if we ever switch to the engine.
