Darsteller von OpenGL

Darsteller von OpenGL, früher bekannt als der IRIS-Darsteller und allgemein verwiesen auf einfach als Darsteller, ist eine kommerzielle Bibliothek des Dienstprogramm-Codes, der oben auf OpenGL zum Zweck gebaut ist, hart Echtzeitsehsimulierungsanwendungen zu ermöglichen. Darsteller von OpenGL wurde durch SGI entwickelt, der fortsetzt, es aufrechtzuerhalten und zu erhöhen. Darsteller von OpenGL ist für IRIX, Linux und mehrere Versionen von Windows von Microsoft verfügbar. Sowohl ANSI C als auch C ++ bindings sind verfügbar.

Geschichte

Darsteller ist 1991 geschehen, als sich eine Gruppe aus dem Offenen Erfinder-Projekt von SGI, das dann als IRIS-Erfinder bekannt ist, dafür entschieden hat, sich auf Leistung aber nicht Bequemlichkeit von programmability zu konzentrieren. Wohingegen Erfinder gebrauchsfreundliche Gegenstände und verschiedene UI Elemente geliefert hat, um mit ihnen aufeinander zu wirken, hat sich Darsteller auf ein Szene-Graph-System konzentriert, das im Fluge aus Leistungsgründen umgeordnet werden konnte, den verschiedenen Pässen einer Übergabe-Aufgabe erlaubend, in der Parallele in vielfachen Fäden durchgeführt zu werden. Darsteller hat der Szene erlaubt, Niveaus des Details mit Bändern der magnetischen Trägheit zu beschreiben und Fähigkeiten zu verwelken. Rahmenrate und Statistik wurden kontrolliert, und ein 'Betonungs'-Faktor wurde berechnet. Das konnte an das weitere Gewicht das Niveau des Details im Szene-Beseitigen-Detail gewöhnt sein, um eine Zielrahmenrate aufrechtzuerhalten.

Andere Hauptmerkmale des Darstellers waren der Gebrauch von symmetrischen in einer Prozession mehrgehenden Fähigkeiten, unterstützen vielfache Grafikpfeifen und die Fähigkeit, die ersteigbaren Mittel von hohen Endsystemen zu verwerten. In dieser Beziehung war Darsteller wirklich einfach, gegeben die zu Grunde liegende Kompliziertheit zu verwenden. Das Anwendungsauswählen und die Übergabe konnten in verschiedenen zu verschiedenen physischen Verarbeitern geschlossenen Fäden laufen. In einer Mehrpfeife (vielfache Grafiksubsysteme) würde die Konfigurationsübergabe zu jeder Grafikpfeife einen hingebungsvollen Faden haben, und ähnlich das Auswählen würde auch einen hingebungsvollen Verarbeiter haben. Fortgeschrittene Eigenschaften wie Datenbankpaginierung, Textur-Paginierung und Punkt-Licht-Quellmanagement (für die Flugsimulation) und Kreuzungsprüfung für die Kollisionsentdeckung hätten auch Verarbeiter gewidmet, die asynchronen i/o erlauben und in einer Prozession gehen vorzukommen, ohne Grafikleistung negativ zusammenzupressen. Der grösste Teil dieser Kompliziertheit wurde unter einer einfacheren Szene-Graph-API mit relativ hohen Konfigurationsanrufen verborgen, die gemacht werden konnten, die Fäden und Zwischenprozess-Kommunikation aufzustellen.

Darsteller hatte kein heimisches Dateiformat, bloß Stecklader von 3. Parteien wie der Format-Lader von OpenFlight von MultiGen. Ähnlich gab es keine Verzug-Durchlaufzeit, es gab Beispielcode und häufig verwendet und häufig modifizierte 'perfly' Beispielanwendung. Das hat wahrscheinlich zu seinem Ruf beigetragen, schwierig zu sein, zu verwenden.

Durch die Mitte der 1990er Jahre hat es angefangen, klar zu werden, dass es keinen Grund gab, dass Erfinder und Darsteller nicht verbunden werden konnten. Das hat zum Cosmo 3D-Projekt geführt, das SGI vorhatte, sowohl Erfinder als auch Darsteller (jetzt im Wesentlichen API shims) zu bauen aus, sowie als ein neuer zu fördern, und höheres Niveau API für die zukünftige Arbeit an der SGI Plattform standardisiert hat. Jedoch nach der ersten Beta-Ausgabe von 3D Cosmo hat sich SGi Intel und IBM (und späterer DEZ) angeschlossen, um OpenGL ++, im Wesentlichen eine aufgeräumte Version von Cosmo zu schaffen. Dieses Projekt ist gestorben, als SGI ihre Aufmerksamkeit auf ein fast identisches Projekt mit Microsoft bekannt als Fahrenheit gelenkt hat, das auch getötet wurde. Heute bleiben Erfinder und Darsteller getrennte Produkte, und keine der vereinigten Versionen hat jemals das Licht der Welt erblickt.

Eigenschaften

Darsteller besteht in erster Linie aus zwei Bibliotheken: die niedrigere Ebene libpr und das höhere Niveau libpf. Die libpr Bibliothek stellt eine objektorientierte Schnittstelle Hochleistungsübergabe-Funktionen zur Verfügung, die auf dem Konzept eines pfGeoSet und eines pfGeoState gestützt sind. Ein pfGeoSet ist eine Sammlung von Grafikprimitiven, wie Vielecke oder Linien. Ein pfGeoState fasst Eigenschaften kurz zusammen, die einem gegebenen pfGeoSet wie Beleuchtung, Durchsichtigkeit und texturing gehören.

Die libpf Bibliothek schließt Funktionen für die Generation und Manipulation von hierarchischen Szene-Graphen, Szene-Verarbeitung (Simulation, Kreuzung, das Auswählen und die Zeichnung von Aufgaben), Management des Niveaus des Details, asynchrone Datenbankpaginierung, dynamische Koordinatensysteme, Umgebungsmodelle, leichte Punkte und so weiter ein. Diese Bibliothek stellt auch durchsichtige Unterstützung für die vielfache Darstellungsfeld-Ausbreitung über vielfache Grafikrohrleitungen zur Verfügung.

Andere Darsteller-Bibliotheken - libpfutil, libpfdb, libpfui, etc. - stellen Funktionen zur Verfügung, um optimierte Geometrie, Datenbankkonvertierung, Gerät-Eingang (solcher bezüglich des Verbindens mit äußerlichem flyboxes und MIL-STD-1553 mux Küsse), Bewegungsmodelle, Kollisionsmodelle und eine mit dem Format unabhängige Datenbankschnittstelle zu erzeugen, die allgemeine Datenformate wie Offener Erfinder, OpenFlight, der Arbeitstisch des Entwerfers, Medit und Wavefront unterstützt.

Außenverbindungen


Ascalon / Eärendur
Impressum & Datenschutz