PHIGS
Abkürzung | PHIGS |
---|---|
Status | Veröffentlicht |
Jahr begann | 1988 |
Letzte Version | ISO/IEC 9592 und ISO/IEC 9593 1997 und 1990/1991 |
Organisation | Ansi, FIPS, ISO, IEC |
Verwandte Standards | ANSI X3.144-1988, FIPS 153 |
Domain | 3D -Computergrafik Programmierschnittstelle |
PHIGS (Hierarchisches interaktives Grafiksystem des Programmierers) ist ein Programmierschnittstelle (API) Standard für das Rendering 3D -Computergrafik, als 3D -Grafikstandard für die 1980er bis Anfang der neunziger Jahre angesehen. Anschließend führte eine Kombination aus Merkmalen und Kraft zum Aufstieg von OpenGL, die die beliebteste professionelle 3D -API der Mitte bis Ende der 1990er Jahre wurde.
Große Anbieter boten in der Regel Versionen von PHIGS für ihre Plattformen an, darunter Dec -PHIGS, IBMs Graphigs und Suns Sunphigs. Es könnte auch innerhalb der verwendet werden X Fenstersystem, unterstützt über Pex.[a] PEX bestand aus einer Erweiterung auf X und fügte Befehle hinzu, die vom X -Server zum Rendering an das PEX -System weitergeleitet werden würden. Workstations wurden in der Regel in Windows platziert, konnten aber auch weitergeleitet werden, um den gesamten Bildschirm oder an verschiedene Drucker-Output-Geräte zu übernehmen.
PHIGS wurde in den 1980er Jahren entworfen, wobei viele seiner Ideen von der erbt wurden Grafisches Kernelsystem (GKS) der späten 1970er Jahre und wurde bis 1988 zu einem Standard: Ansi (ANSI X3.144-1988), FIPS (FIPS 153) und dann ISO (ISO/IEC 9592 und ISO/IEC 9593). Aufgrund seiner frühen Schwangerschaft unterstützt der Standard nur die grundlegendsten 3D -Grafiken, einschließlich grundlegender Geometrie und Maschen und nur die Basic Gouraud, "Punkt" und Phong Schattierung für Rendering Szenen. Obwohl PHIGS letztendlich erweitert wurden, um erweiterte Funktionen zu enthalten (einschließlich des genaueren Phong-Beleuchtungsmodells und der Datenzuordnung), wurden andere Merkmale, die bis Mitte der 1990er Jahre als Standard betrachtet wurden, nicht unterstützt (insbesondere Textur-Mapping), noch waren viele Maschinen der Ära physisch in der Lage, es in Echtzeit zu optimieren.
Technische Details
Das Wort "hierarchisch" im Namen bezieht Szenengrafik System als Teil des Grundstandards. Die Modelle wurden in einem zentralen Strukturspeicher (CSS) aufgebaut, einer Datenbank mit einer "Welt" einschließlich beider Zeichnung Primitive und ihre Attribute (Farbe, Linienstil usw.). CSSEs könnten unter einer Reihe virtueller Geräte geteilt werden, die unter PHIGS AS bekannt sind Arbeitsstationen, jeder von ihnen könnte eine beliebige Anzahl von enthalten Ansichten.
Das Anzeigen von Grafiken auf dem Bildschirm in PHIGS war ein dreistufiger Prozess. Zuerst würde das Modell in ein CSS eingebaut, dann würde eine Workstation erstellt und geöffnet, und schließlich würde das Modell mit der Workstation verbunden. Zu diesem Zeitpunkt würde die Workstation das Modell sofort wiederlegen, und zukünftige Änderungen am Modell würden sich sofort in allen anwendbaren Workstation -Ansichten widerspiegeln.
PHIGS fehlte ursprünglich die Fähigkeit, beleuchtete Szenen zu rendern, und wurde von ersetzt PHIGS+. PHIGS+ funktioniert im Wesentlichen auf die gleiche Weise, fügte jedoch Methoden zum Beleuchtung und Füllen von Oberflächen innerhalb einer 3D -Szene hinzu. PHIGS+ führte auch fortschrittlichere Grafikprimitive ein, wie z. Ungleichmäßige rationale B-Spline (Nurbs) Oberflächen. Ein Ad-hoc-ANSI-Komitee wurde um diese vorgeschlagenen Erweiterungen zu PHIGS gebildet, wodurch der Name in den beschreibenden und (optimistisch) erweiterbaren Namen "PHIGS PLUS" geändert wurde-"Plus" ist ein leicht sprachliches Akronym für "Plus Lumière und Oberflächen "(die beiden Hauptbereichen des Fortschritts gegenüber dem BasispHigs -Standard).
Der Aufstieg von OpenGL und der Niedergang von PHIGS
OpenGLwar im Gegensatz zu PHigs ein sofortiger Mode Rendering -System ohne "Zustand"; Sobald ein Objekt an eine Ansicht gesendet wird, um es zu machen, verschwindet es im Wesentlichen. Änderungen des Modells mussten in das System einbezogen und neu geführt werden, eine dramatisch andere Programmierdichtung. Bei einfachen Projekten war PHigs erheblich einfacher zu verwenden und zu arbeiten.
OpenGLs "Low-Level" -API ermöglichte es dem Programmierer jedoch, dramatische Verbesserungen bei der Rendern der Leistung vorzunehmen, indem zuerst die Daten auf dem Daten untersucht wurden Zentralprozessor-Side, bevor Sie versuchen, es über den Bus an die Grafikmotor zu senden. Zum Beispiel konnte der Programmierer die Objekte "kullieren", indem er untersuchte, welche Objekte tatsächlich in der Szene sichtbar waren, und nur die Objekte senden, die tatsächlich auf dem Bildschirm landen würden. Dies wurde in PHIGS privat gehalten, was es viel schwieriger machte, die Leistung zu stimmen, aber die Abstimmung in der PHIGS -Implementierung "kostenlos" zu ermöglichen.
Angesichts der niedrigen Leistungssysteme der Ära und der Notwendigkeit einer Hochleistungsrendern wurde OpenGL für die 3D-Programmierung im Allgemeinen als viel "leistungsfähiger" angesehen. PHIGS fielen nicht aus. Version 6.0 des PEX -Protokolls wurde entwickelt, um auch andere 3D -Programmiermodelle zu unterstützen, aber nicht wieder an Popularität gewonnen. Pex wurde größtenteils entfernt von Xfree86 4.2.x (2002) und schließlich aus dem X -Fenstersystem in X11R6.7.0 (April 2004) entfernt.[1]
Standards
ISO
- ISO/IEC 9592 Informationstechnologie - Computergrafik und Bildverarbeitung - hierarchisches interaktives Grafiksystem (PHIGS) des Programmierers.
- ISO/IEC 9593 Informationstechnologie - Computergrafik - Sprachbindungen des Programmierers hierarchische Interaktive Grafiksysteme (PHIGS)
Siehe auch
Anmerkungen
- ^ PEX war ursprünglich als "PHIGS -Erweiterung auf X" bekannt;Anschließend als "x3d" bezeichnet, dessen Buchstaben eine Rotationsvariante auf den Buchstaben "p-e-x" bilden
Verweise
- Comp.Windows.x.pex FAQ (28. März 1994)
- Eine Einführung in PHigs (eigentlich PHIGS+)
- ^ "X.org Foundation veröffentlicht x Fenstersystem x11r6.7".
- ^ "ISO/IEC 9592-1: 1997". ISO. Abgerufen 2017-10-14.
- ^ "ISO/IEC 9592-2: 1997". ISO. Abgerufen 2017-10-14.
- ^ "ISO/IEC 9593-1: 1997". ISO. Abgerufen 2017-10-14.
- ^ "ISO/IEC 9593-1: 1990". ISO. Abgerufen 2017-10-14.
- ^ "ISO/IEC 9593-3: 1990". ISO. Abgerufen 2017-10-14.
- ^ "ISO/IEC 9593-4: 1991". ISO. Abgerufen 2017-10-14.