ADC Home > Reference Library > Technical Q&As > Legacy Documents > Graphics & Imaging >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

NOTE: This Technical Q&A has been retired. Please see the Technical Q&As page for current documentation.

Determining Which Features Are Supported by Specific Renderers

Q: Using the QuickDraw 3D API, how can I ascertain whether transparency (or csg or shadows) is supported by any particular renderer?

A: As of version 1.0.4, the QuickDraw API has no support for determining which features are supported by specific renderers. This capability is planned for a future release. You can, however, use the QAEngineGestalt() call to get much of the information you need.

QAEngineGestalt is found in the Rendering Acceleration Virtual Engine (RAVE) API, not the QD3D API.

Search the RAVE3D.h file for QAEngineGestalt, and look for the associated comments regarding what kind of selectors you can use in you queries. You'll also need to call QADeviceGetFirstEngine to get a reference to the first 3D accelerator card. Then you must call QADeviceGetNextEngine to get references to any other 3D accelerator cards in the system. QADeviceGetNextEngine will return NULL if there are no more cards.

Remember that, as of version 1.0.4, transparency is not supported if there is no 3D acceleration card. CSG (Constructive Solid Geometry) and shadows are unimplemented features that are scheduled for a future version of QuickDraw 3D, and will also most probably require hardware assist.

What is RAVE

RAVE stands for Rendering Acceleration Virtual Engine (RAVE) API. It is a standard API specification for applications which make use of any 3D acceleration provided by 3D accelerator hardware. It also specifies the API for drivers (aka "drawing engines") of 3D accelerator hardware. Because RAVE describes both an application API and a driver API, RAVE is often referred to as a "thin veneer" between the two layers. Application authors who use the RAVE layer are guaranteed the fastest possible access to hardware acceleration; hardware vendors who supply RAVE-compliant drivers for their cards are guaranteed a large base of applications compatible with their hardware.

[Apr 08 1996]

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.