Dibujo rápido 3D


QuickDraw 3D , o QD3D para abreviar, es una API de gráficos 3D desarrollada por Apple Inc. (entonces Apple Computer, Inc.) a partir de 1995, originalmente para sus computadoras Macintosh , pero entregada como un sistema multiplataforma.

QD3D se separó en dos capas. Un sistema de nivel inferior conocido como RAVE (Rendering Acceleration Virtual Engine) proporcionó una capa de abstracción de hardware con una funcionalidad similar a Direct3D o versiones reducidas de OpenGL como MiniGL . Además de esto, había un sistema gráfico de escena orientado a objetos , QD3D propiamente dicho, que manejaba la carga y manipulación de modelos a un nivel similar a OpenGL++ . [1] El sistema también proporcionó una serie de utilidades de alto nivel para la conversión de formato de archivo y una aplicación de visualización estándar para Mac OS.

QD3D tuvo poco impacto en el mercado de las computadoras, tanto como resultado de la posición asediada de Apple a mediados de la década de 1990, como de varias decisiones fatídicas tomadas por el equipo de diseño sobre cambios futuros en el mercado de hardware 3D que no se hicieron realidad. Apple abandonó el trabajo en QD3D después de que Steve Jobs asumiera el cargo en 1998 y anunció que el futuro soporte 3D en Mac OS se basaría en OpenGL .

La API 3D canónica de la década de 1990 fue OpenGL. Esto había sido escrito por SGI e inicialmente coincidía estrechamente con las capacidades de sus sistemas de estaciones de trabajo , operando como una capa de abstracción de hardware. La API de OpenGL consistía principalmente en instrucciones de configuración de estado para configurar modos de dibujo como el color de la pintura o la posición de la cámara, y un sistema para enviar geometría al sistema, normalmente como mallas de triángulos. La combinación de estas instrucciones se guardó en una lista de visualización que luego se representó para producir la salida.

OpenGL carecía de muchas funciones necesarias para producir un programa 3D completo. Guardar y cargar datos de geometría, recopilar esos datos en grupos para producir objetos modelo, y el control del estado se dejaba al programador. Esto se consideró una ventaja en una era en la que el rendimiento era limitado y el control directo sobre este tipo de funciones era una ruta para mejorar el rendimiento.

Sin embargo, esta falta de funcionalidad de alto nivel dificultó la escritura rápida de programas simples, además de conducir a una falta de interoperabilidad. Se iniciaron varios esfuerzos para proporcionar API estandarizadas de nivel superior, como OpenGL++ y (posteriormente) Fahrenheit , que manejaban muchas de las tareas de contabilidad más comunes, como cargar geometría desde archivos y proporcionar una pantalla. Estos sistemas de gráficos de escena estandarizados significaban que el programador solo tenía que proporcionar la GUI para el programa.