QuickDraw 3D

A lower level system known as RAVE (Rendering Acceleration Virtual Engine) provided a hardware abstraction layer with functionality similar to Direct3D or cut-down versions of OpenGL like MiniGL.

[2] The system also supplied a number of high-level utilities for file format conversion, and a standard viewer application for the Mac OS.

Apple abandoned work on QD3D after Steve Jobs took over in 1998, and announced that future 3D support on Mac OS would be based on OpenGL.

The best known of these is MiniGL, which is not a separate API, but simply a list of those functions in OpenGL that are guaranteed to be supported across all hardware, thus ensuring that a program limiting itself to those calls will run with maximum performance.

This led to a concerted effort to cleanly separate the upper and lower layers of the API, with the lower-level RAVE system being closer to MiniGL from the start.

Since only RAVE needed to be ported, the upper layer APIs could be made as complex as desired, and the QD3D system included a complete scene graph, a standardized model file format, 3DMF, and even basic GUI objects that utilized them.

To write a simple application in QD3D, the programmer only had to include a few libraries and then place the GUI elements in their program using ResEdit or similar tools.

Without changing the model or their code, developers could render the same scene interactively or (with suitable plug-ins) using methods such as ray-tracing or phong shading.

Although later releases of QD3D gained the ability to automatically perform visibility culling (based on the grouping of objects in the scene graph), OpenGL's lack of support for this feature typically forced developers to implement it from the start.

Mac OS Scrapbook version 7.5 .2 (1996), showing a QuickDraw-3D-based 3D model