From collectibles to cars, buy and sell all kinds of items on eBay
home | pay | site map
Shop for itemsSell your itemTrack your eBay activitiesLearn, connect, and stay informed-for business and for funGet help, find answers and contact Customer SupportAdvanced Search
Home > Listing Index > Games > QuickDraw 3D

Games - QuickDraw 3D


QuickDraw 3D, or QD3D for short, is a 3D graphics API developed by Apple Computer
, originally for their Macintosh
computers, but delivered as a cross-platform system. QD3D provided a high-level API with a rich set of 3D primitives that was generally much more full-featured and easier to develop than low-level APIs such as OpenGL or Direct3D
. Below this was a cleanly-separated hardware abstraction layer known as RAVE that allowed the system to be ported to new hardware easily. On the downside, Q3D used a number of Apple-specific ideas about how 3D hardware should work, and initially performed poorly due to the lack of hardware acceleration. Apple abandoned work on QD3D after Steve Jobs
took over in 1998, and announced that future 3D support would be based on OpenGL.

3D in general

Most 3D toolkits concentrate on the lowest levels of the 3D rendering pipeline. These include describing the basic geometry of the “world”, and systems for describing objects based on that geometry. Key to high performance in 3D applications is limiting the data that needs to be manipulated, and storing that in an efficient way in order to reduce the amount of memory that needs to be transferred to the display hardware during drawing. Computer bus operations can be many times slower than the processing of that data, so every effort must be made to reduce the overall load.

For instance, the OpenGL system consists primarily of a system for describing geometry in various ways that eliminate common vertices from the data, along with commands for manipulating the objects and drawing them in the world. To further reduce traffic, OpenGL is a “stateful” system, in which the result of drawing an object into the world will depend on the state of the system set up in previous commands. The advantage to this approach is that most graphics share considerable amounts of state, so the setup information can be sent once, followed by many drawing operations. This also means that complex programs have to carefully track and restore state during drawing, an expensive operation that can actually lead to decreased performance if done too often.

Higher-level concepts of the 3D world are generally not included in low-level libraries. For instance, OpenGL has no system for storing the relationships between parts or building objects out of other objects. This is particularly important in 3D graphics, where objects are generally constructed out of a number of parts that are moved together to produce a larger model. This grouping, known as a scene graph, is typically left to the end-user to develop on their own, although a number of attempts to provide a standardized stateless scene graph were made several times over OpenGL’s history. Even common issues such as interacting with the model or placing the view in a window are generally left to add-on libraries, in order to give the developer complete control over the system. However this also means that developers are writing the same basic code over and over again, just to get started.

To add to the problems, OpenGL was not truly low-level. It included about 250 calls in the basic API, many of which were used only in high-end rendering and offered little utility. The inclusion of these calls meant that the API was too large to implement fully on consumer-level graphics cards of the era. This made the overall development task more difficult; it supported none of the high-level features that eased development, nor was it small enough to fully run on the hardware. In order to address the latter issue, smaller subsets of OpenGL were developed, notably the Glide API and MiniGL.

QD3D

QD3D had the disadvantage of running on computers with considerably less power than the SGI systems OpenGL was designed for. This guided the developers to cleanly separate the system into a high-level and low-level set of APIs, so that the lower levels could be implemented entirely in hardware. Since the high-level API was not intended to run directly on hardware, it could be made as feature packed as it wanted.

The result was that QD3D offered a considerably richer programming system for developers, one that dramatically reduced the workload for basic applications. QD3D provided functionality not only for storing and manipulating a scene graph, but also added a number of easy to use 3D objects, UI elements, and even input controllers. The suite allowed developers to add 3D support to their applications with ease, in a way that had a consistent UI when compared to other 3D applications using the platform. Apple additionally introduced the 3DMF file format in order to allow developers to exchange 3D models between applications, providing all the needed code for loading and saving 3DMF files.

[ Visit the complete Wikipedia entry for QuickDraw 3D ]


Searches on eBay

Some related entries: Gobblet | Tear Ring Saga | Gunparade March | Game design | Tilt | EverQuest trade skills | Nuzleaf | Konami | Kevin Calhoun | Miscellaneous Wing Commander fighters | God of War II: Divine Retribution

eBay Pulse | eBay Reviews | eBay Stores | Half.com | Kijiji | PayPal | Popular Searches | ProStores | Rent.com | Shopping.com
Australia | Austria | Belgium | China | France | Germany | India | Italy | Spain | United Kingdom

About eBay | Announcements | Security Center | Policies | Site Map | Help