Please consider a donation to the Higher Intellect project. See or the Donate to Higher Intellect page for more info.

Difference between revisions of "QuickDraw 3D"

From Higher Intellect Vintage Wiki
Jump to navigation Jump to search
Line 77: Line 77:
* [[Apple Computer]]
* [[Apple Computer]]

Revision as of 15:35, 24 September 2020

Software API for Macintosh 3D graphics. QuickDraw 3D is a Code Fragment Manager-based shared library, with a C-based API. It runs on all Power Macintosh computers and offers high-performance 3D rendering and other features that make working with 3D data easier.

QuickDraw 3D is a graphics library developed by Apple Computer that you can use to create, configure, and render three-dimensional objects. It is specifically designed to be useful to a wide range of software developers, from those with very little knowledge of 3D modeling concepts and rendering techniques to those with very extensive experience with those concepts and techniques.

At the most basic level, you can use the file format and file-access routines provided by QuickDraw 3D to read and display 3D graphics created by some other application. For example, a word-processing application might want to import a picture created by a 3D modeling or image-capturing application. QuickDraw 3D supports the 3D Viewer, which you can use to display 3D data and objects in a window and allow users limited interaction with that data, without having to learn any of the core QuickDraw 3D application programming interfaces.

Modeling and Rendering

To create images, you typically engage in at least two distinguishable main tasks: modeling and rendering. Modeling is the process of creating a representation of real or abstract objects, and rendering is the process of creating an image (on the screen or some other medium) of a model. QuickDraw 3D subdivides each of these tasks into a number of subtasks.

In QuickDraw 3D, modeling involves

  • creating, configuring, and positioning basic geometric objects and groups of geometric objects. QuickDraw 3D defines many basic types of geometric objects and a large number of ways to transform such objects.
  • assigning sets of attributes (such as diffuse and specular colors) to objects and parts of objects.
  • applying textures to surfaces of objects.
  • configuring a model's lights and shading. QuickDraw 3D supplies four types of lights (ambient light, directional lights, spot lights, and point lights) and several types of shaders.

In QuickDraw 3D, rendering involves

  • specifying a camera position and type. A camera type is defined by a method of projecting the model onto a flat surface, called the view plane. QuickDraw 3D provides two types of cameras that use perspective projection (the aspect ratio and view plane cameras) and one type of camera that uses parallel projection (the orthographic camera).
  • specifying a renderer or method of rendering. QuickDraw 3D provides a wireframe and an interactive renderer. Renderers support different styles of rendering (for example, points, edges, or filled shapes).
  • creating a view (a collection of a group of lights, a camera, and a renderer and its styles) and rendering the model using the view to create an image.


Often, modeling and rendering are not easily separable, particularly in applications that support interactive 3D modeling. When, for example, the user selects a sphere and drags it using the mouse or other pointing device, the application needs to change the model (reposition the sphere) and render a new image. (Indeed, the application may generate a series of new images to show the sphere changing location as the user drags it.) QuickDraw 3D supports a third main task, interacting with a model (that is, selecting and manipulating objects in the model).

In QuickDraw 3D, interacting involves

  • determining what kinds of pointing devices are available on a particular computer and possibly configuring one or more of those devices to control items in a 3D model (such as a camera or a light).
  • identifying the objects in a model that are close to the cursor when the user clicks or drags in the model's image. This is called picking.

QuickDraw 3D supplies an extensive set of routines that you can use to perform these tasks.

QuickDraw 3D RAVE (rendering acceleration virtual engine)

See the main article at QuickDraw 3D RAVE.

3D Rave Methods (ATi3D)

The following 3D Rave methods are supported by the ATi3D extension:

  • QABitmapDelete
  • QADrawBitmap
  • QADrawContextDelete
  • QADrawContextNew
  • QADrawLine
  • QADrawPoint
  • QADrawTriGouraud
  • QADrawTriMeshGouraud
  • QADrawTriMeshTexture
  • QADrawTriTexture
  • QADrawVGouraud
  • QADrawVTexture
  • QAEngineGestalt
  • QAFlush
  • QAGetFloat
  • QAGetInt
  • QAGetPtr
  • QARenderAbort
  • QARenderEnd
  • QARenderStart
  • QASetFloat
  • QASetInt
  • QASetPtr
  • QASync
  • QATextureDetach
  • QATextureNew


See Also