QuickDraw 3D
   HOME

TheInfoList



OR:

QuickDraw 3D, or QD3D for short, is a
3D graphics 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for the ...
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standa ...
developed by
Apple Inc. Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company b ...
(then Apple Computer, Inc.) starting in 1995, originally for their
Macintosh The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc., Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and ...
computers, but delivered as a cross-platform system. QD3D was separated into two layers. A lower level system known as RAVE (Rendering Acceleration Virtual Engine) provided a
hardware abstraction layer Hardware abstractions are sets of routines in software that provide programs with access to hardware resources through programming interfaces. The programming interface allows all devices in a particular class ''C'' of hardware devices to be acce ...
with functionality similar to
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware a ...
or cut-down versions of
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
like
MiniGL MiniGL is an incomplete implementation of the OpenGL specification which implements enough of the API to allow 3D video games in the late 1990s to run with hardware acceleration on contemporary graphics cards, which otherwise provided their own A ...
. On top of this was an object-oriented
scene graph Scene (from Greek σκηνή ''skēnḗ'') may refer to: Arts, entertainment, and media Music *Scene (subculture), a youth subculture from the early 2000s characterized by a distinct music and style. Groups and performers * The Scene who recor ...
system, QD3D proper, which handled model loading and manipulation at a level similar to OpenGL++.http://legacy.macnn.com/thereview/features/covert/covert10.2.shtml The system also supplied a number of high-level utilities for file format conversion, and a standard viewer application for the Mac OS. QD3D had little impact in the computer market, both as a result of Apple's beleaguered position in the mid-1990s, as well as several fateful decisions made by the design team about future changes in the 3D hardware market that did not come true. Apple abandoned work on QD3D after
Steve Jobs Steven Paul Jobs (February 24, 1955 – October 5, 2011) was an American entrepreneur, industrial designer, media proprietor, and investor. He was the co-founder, chairman, and CEO of Apple; the chairman and majority shareholder of Pixar; a ...
took over in 1998, and announced that future 3D support on Mac OS would be based on
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
.


OpenGL in the 1990s

The canonical 3D API of the 1990s was OpenGL. This had been written by
SGI SGI may refer to: Companies *Saskatchewan Government Insurance *Scientific Games International, a gambling company *Silicon Graphics, Inc., a former manufacturer of high-performance computing products *Silicon Graphics International, formerly Rac ...
and initially closely matched the capabilities of their
workstation A workstation is a special computer designed for technical or scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating systems. The term ''workstat ...
systems, operating as a hardware abstraction layer. The OpenGL API consisted mostly of state-setting instructions for setting up drawing modes like the paint color or camera position, and system for sending geometry into the system, normally as meshes of triangles. The combination of these instructions was saved into a
display list A display list (or ''display file'') is a series of graphics commands that define an output image. The image is created ( ''rendered'') by executing the commands to combine various primitives. This activity is most often performed by specialized di ...
which was then rendered to produce the output. OpenGL lacked many features that are needed to produce a complete 3D program. Saving and loading geometry data, collecting that data into groups to produce model objects, and the control of state was all left to the programmer. This was considered to be an advantage in an era when performance was limited and direct control over these sorts of functions was a route to improved performance. However, this lack of high-level functionality did make it more difficult to quickly write simple programs, as well as leading to a lack of interoperability. A number of efforts started to provide standardized higher level APIs, like OpenGL++ and (later)
Fahrenheit The Fahrenheit scale () is a temperature scale based on one proposed in 1724 by the physicist Daniel Gabriel Fahrenheit (1686–1736). It uses the degree Fahrenheit (symbol: °F) as the unit. Several accounts of how he originally defined his ...
, which handled many of the more common bookkeeping tasks like loading geometry from files and providing a display. These standardized
scene graph Scene (from Greek σκηνή ''skēnḗ'') may refer to: Arts, entertainment, and media Music *Scene (subculture), a youth subculture from the early 2000s characterized by a distinct music and style. Groups and performers * The Scene who recor ...
systems meant the programmer only had to provide the GUI for the program. While OpenGL is mostly low-level, it did include some higher-level concepts that were only really used on SGI systems. This led to another series of APIs that removed these features to make it easier to implement on common hardware. The best known of these is
MiniGL MiniGL is an incomplete implementation of the OpenGL specification which implements enough of the API to allow 3D video games in the late 1990s to run with hardware acceleration on contemporary graphics cards, which otherwise provided their own A ...
, 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.


QD3D

QD3D was designed from the start to operate on computers with considerably less power than workstations. 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. This had the advantage of providing a clean and minimal API that could be more easily ported to different hardware. 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 ResEdit is a discontinued developer tool application for the Apple Macintosh, used to create and edit resources directly in the Mac's resource fork architecture. It was an alternative to tools such as REdit, and the resource compiler ''Rez.'' Fo ...
or similar tools. Additional functionality included a "plug-in" rendering system, which allowed an application to render a scene in a variety of styles. 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. The QD3D API was an object-like system based on pure- C code. The various structures were carefully constructed to contain pointers to other important objects. Objects knew all the drawing state they needed, thereby eliminating code that would normally be needed when developing under OpenGL. On the downside, QD3D's layering introduced performance issues. For instance, the system stored and automatically set state for every object before drawing. This made development much easier, but also made the performance drop in a way the developer had no direct control over. Those applications demanding performance over ease of programming could instead choose to use the RAVE layer directly. Another area of concern is that the scene graph was hidden from view, and considerable improvements in rendering performance can be made by carefully "culling" the graph to remove those objects that are not in view. 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.


Switch to OpenGL

Good low-level 3D performance relies not only on the programmer to provide efficient models, but high-quality drivers for the hardware as well. Although RAVE was designed to be cross-platform, only hardware developers which supported Mac (
ATI Ati or ATI may refer to: * Ati people, a Negrito ethnic group in the Philippines **Ati language (Philippines), the language spoken by this people group ** Ati-Atihan festival, an annual celebration held in the Philippines *Ati language (China), a ...
,
NVIDIA Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
, and
3dfx 3dfx Interactive was an American technology company headquartered in San Jose, California, founded in 1994, that specialized in the manufacturing of 3D graphics processing units, and later, video cards. It was a pioneer in the field from the l ...
) produced drivers for it. This left any comparison between QD3D and alternative APIs one-sided, as outside of the Mac QD3D was forced to fall back to a software RAVE implementation. As OpenGL gained traction on Windows (often credited to
id Software id Software LLC () is an American video game developer based in Richardson, Texas. It was founded on February 1, 1991, by four members of the computer company Softdisk: programmers John Carmack and John Romero, game designer Tom Hall, and ar ...
, who championed the API over D3D), hardware developers were increasingly designing future hardware against the future feature set planned for Microsoft's D3D. Through its extension mechanism OpenGL was able to track these changes relatively easily, while RAVE's feature set remained relatively fixed. At the
Macworld Expo Macworld/iWorld was an information technology trade show with conference tracks dedicated to the Apple Macintosh platform. It was held annually in the United States during January. Originally ''Macworld Expo'' and then ''Macworld Conference & Expos ...
in January 1999, Apple announced that neither QuickDraw 3D nor RAVE would be included in
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
. The company laid off the development staff in June 1999{{Citation needed, date=December 2011, replacing the in-house technology with OpenGL after buying a Mac implementation and key staff from Conix Enterprises. After Apple withdrew support for QD3D, an
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
implementation of the QD3D API was developed externally. Known as ''Quesa'', this implementation combines QD3D's higher level concepts with an OpenGL renderer. As well as cross-platform hardware acceleration, this library also allows the use of the QD3D API on platforms never supported by Apple (such as
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
). The latest release is from 2008.


Applications

Among hundreds of applications published employing RAVE are: *
Graphing Calculator A graphing calculator (also graphics calculator or graphic display calculator) is a handheld computer that is capable of plotting graphs, solving simultaneous equations, and performing other tasks with variables. Most popular graphing calculat ...
in the 1990s, shipped with every Power Macintosh * Quake *
Descent II ''Descent II'' is a 1996 first-person shooter game developed by Parallax Software and first published for DOS by Interplay Productions. For the PlayStation, it is known as ''Descent Maximum''. It is the second installment in the ''Descent'' v ...
*
Unreal Unreal may refer to: Books and TV * ''Unreal'' (short story collection), a 1985 book of short stories by Paul Jennings * ''Unreal'' (TV series), a 2015 television drama series on Lifetime Computing and games * ''Unreal'' (video game series), ...
*
Carmageddon 2 ''Carmageddon II: Carpocalypse Now'' is a vehicular combat video game, the sequel to '' Carmageddon'', and released in 1998 for Microsoft Windows. The game was developed by Stainless Games and published by Sales Curve Interactive in Europe and In ...
* Future Cop: LAPD * WaterRace *
StrataVision 3D StrataVision 3D is a comprehensive 3D computer graphics software package developed by Strata. Features include primitives-based modeling with texturising, keyframe animation, raytrace and later radiosity rendering under the name of ''Raydiosit ...
*
Infini-D Infini-D was a 3D computer graphics program developed by Specular International. It was continued by MetaCreations when Specular merged with them, developing up to version 4.5, then combined with Ray Dream Studio to create Carrara. Soon after, Meta ...
*
Bugdom ''Bugdom'' is a 1999 platform video game originally created by Pangea Software for Mac OS 9. It was included with the iMac DV 2000 and later iBook models. The Microsoft Windows version, released in 2000, was developed by Hoplite Research and pub ...


See also

*
QuickDraw A quickdraw (also known as an extender) is a piece of climbing equipment used by rock and ice climbers to allow the climbing rope to run freely through protection such as a bolt anchors or other traditional gear while leading. A quickdraw ...
*
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
*
DirectX Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct", ...
*
3dfx 3dfx Interactive was an American technology company headquartered in San Jose, California, founded in 1994, that specialized in the manufacturing of 3D graphics processing units, and later, video cards. It was a pioneer in the field from the l ...


References


External links


3D Graphics Programming with QuickDraw 3D 1.5.4
— QD3D manual (archived)

— prerelease article, June 1995
QuickDraw 3D: Questions and AnswersQuesa project home page
3D scenegraph APIs Macintosh operating systems APIs