stringtranslate.com

PHIGS

PHIGS ( Sistema de gráficos interactivos jerárquicos del programador ) es un estándar de interfaz de programación de aplicaciones (API) para representar gráficos por computadora en 3D , considerado el estándar de gráficos 3D desde la década de 1980 hasta principios de la de 1990. Posteriormente, una combinación de características y potencia llevó al surgimiento de OpenGL , que se convirtió en la API 3D profesional más popular de mediados a finales de los años 1990.

Los grandes proveedores normalmente ofrecían versiones de PHIGS para sus plataformas, incluidos DEC PHIGS, graPHIGS de IBM y SunPHIGS de Sun. También podría usarse dentro del sistema X Window , soportado vía PEX . [a] PEX consistía en una extensión de X, añadiendo comandos que se reenviarían desde el servidor X al sistema PEX para su renderizado. Las estaciones de trabajo normalmente se ubicaban en ventanas, pero también podían reenviarse para ocupar toda la pantalla o a varios dispositivos de salida de impresora.

PHIGS fue diseñado en la década de 1980, heredando muchas de sus ideas del Graphical Kernel System (GKS) de finales de la década de 1970, y se convirtió en un estándar en 1988: ANSI (ANSI X3.144-1988), FIPS (FIPS 153) y luego ISO. (ISO/IEC 9592 e ISO/IEC 9593). Debido a su gestación temprana, el estándar soporta sólo los gráficos 3D más básicos, incluyendo geometría y mallas básicas, y sólo los sombreados básicos Gouraud , "Dot" y Phong para renderizar escenas. Aunque PHIGS finalmente se expandió para contener funciones avanzadas (incluido el modelo de iluminación Phong más preciso y el mapeo de datos), otras características consideradas estándar a mediados de la década de 1990 no eran compatibles (en particular, el mapeo de texturas ), ni muchas máquinas de la época eran físicamente capaces de optimizar. para que funcione en tiempo real.

Detalles técnicos

La palabra "jerárquico" en el nombre se refiere a una característica notable de PHIGS: a diferencia de la mayoría de los sistemas gráficos, PHIGS incluía un sistema de gráficos de escenas como parte del estándar básico. Los modelos se construyeron en un Almacén de Estructura Centralizada (CSS), una base de datos que contiene un "mundo" que incluye tanto las primitivas de dibujo como sus atributos (color, estilo de línea, etc.). Los CSS se podrían compartir entre varios dispositivos virtuales, conocidos en PHIGS como estaciones de trabajo , cada uno de los cuales podría contener cualquier número de vistas .

Mostrar gráficos en la pantalla en PHIGS fue un proceso de tres pasos; Primero, el modelo se integraría en un CSS, luego se crearía y abriría una estación de trabajo y, finalmente, el modelo se conectaría a la estación de trabajo. En ese punto, la estación de trabajo renderizaría inmediatamente el modelo y cualquier cambio futuro realizado en el modelo se reflejaría instantáneamente en todas las vistas de la estación de trabajo aplicables.

PHIGS originalmente carecía de la capacidad de renderizar escenas iluminadas y fue reemplazado por PHIGS+ . PHIGS+ funciona esencialmente de la misma manera, pero agregó métodos para iluminar y rellenar superficies dentro de una escena 3D. PHIGS+ también introdujo primitivas gráficas más avanzadas, como superficies B-spline racionales no uniformes (NURBS). Se formó un comité ANSI ad hoc en torno a estas extensiones propuestas para PHIGS, cambiando su nombre por el nombre más descriptivo y (optimistamente) extensible "PHIGS PLUS"; "PLUS" es un acrónimo ligeramente irónico de "Plus Lumière Und Surfaces" (las dos áreas principales de avance sobre el estándar básico PHIGS).

El auge de OpenGL y el declive de PHIGS

OpenGL , a diferencia de PHIGS, era un sistema de renderizado en modo inmediato sin "estado"; Una vez que un objeto se envía a una vista para ser renderizado, esencialmente desaparece. Los cambios en el modelo tuvieron que reenviarse al sistema y volver a renderizarse, una mentalidad de programación dramáticamente diferente. Para proyectos simples, PHIGS fue considerablemente más fácil de usar y trabajar.

Sin embargo, la API de "bajo nivel" de OpenGL permitió al programador realizar mejoras espectaculares en el rendimiento de renderizado examinando primero los datos en el lado de la CPU antes de intentar enviarlos por el bus al motor gráfico. Por ejemplo, el programador podría "seleccionar" los objetos examinando qué objetos eran realmente visibles en la escena y enviando sólo aquellos objetos que realmente terminarían en la pantalla. Esto se mantuvo privado en PHIGS, lo que hizo mucho más difícil ajustar el rendimiento, pero permitió que el ajuste se realizara "gratis" dentro de la implementación de PHIGS.

Dados los sistemas de bajo rendimiento de la época y la necesidad de renderizado de alto rendimiento, en general se consideraba que OpenGL era mucho más "poderoso" para la programación 3D. PHIGS cayó en desuso. La versión 6.0 del protocolo PEX fue diseñada para admitir también otros modelos de programación 3D, pero no recuperó popularidad. PEX se eliminó en su mayor parte de XFree86 4.2.x (2002) y finalmente se eliminó por completo del sistema X Window en X11R6.7.0 (abril de 2004). [1]

Estándares

YO ASI

Ver también

Notas

  1. ^ PEX se conocía originalmente como "Extensión PHIGS a X"; posteriormente denominado "X3d", cuyas letras forman una variante rotacional de las letras "PEX"

Referencias

  1. ^ "X.Org Foundation lanza X Window System X11R6.7".
  2. ^ "ISO/CEI 9592-1:1997". YO ASI . Consultado el 14 de octubre de 2017 .
  3. ^ "ISO/CEI 9592-2:1997". YO ASI . Consultado el 14 de octubre de 2017 .
  4. ^ "ISO/CEI 9593-1:1997". YO ASI . Consultado el 14 de octubre de 2017 .
  5. ^ "ISO/CEI 9593-1:1990". YO ASI . Consultado el 14 de octubre de 2017 .
  6. ^ "ISO/CEI 9593-3:1990". YO ASI . Consultado el 14 de octubre de 2017 .
  7. ^ "ISO/CEI 9593-4:1991". YO ASI . Consultado el 14 de octubre de 2017 .

enlaces externos