Detaillierungsgrad (Computergrafik)

Anpassen der Komplexität einer 3D-Modelldarstellung, um Speicherplatz und Berechnung zu sparen

In der Computergrafik Detaillierungsgrad ((LOD) bezieht sich auf die Komplexität einer 3D-Modelldarstellung.[1][2][3] Die LOD kann verringert werden, wenn sich das Modell vom Betrachter entfernt oder gemäß anderen Metriken wie Objektbedeutung, Blickwinkel-Relativgeschwindigkeit oder Position. LOD-Techniken erhöhen die Effizienz des Renderns, indem sie die Arbeitslast auf Grafikpipeline-Stufen, normalerweise Scheitelpunkttransformationen, verringern. Die verminderte visuelle Qualität des Modells bleibt häufig unbemerkt, da sich das Erscheinungsbild des Objekts in der Ferne oder bei schnellen Bewegungen nur geringfügig auswirkt.

Obwohl LOD die meiste Zeit nur auf Geometriedetails angewendet wird, kann das Grundkonzept verallgemeinert werden. Zu den LOD-Techniken gehörte kürzlich auch die Shader-Verwaltung, um die Kontrolle über die Pixelkomplexität zu behalten. Unter dem Namen Mipmapping wird seit Jahren eine Form der Detailverwaltung auf Texturkarten angewendet, die auch eine höhere Renderqualität bietet.

Es ist allgemein zu sagen, dass “ein Objekt gewesen ist LOD’d“wenn das Objekt durch den Basiswert vereinfacht wird LOD-Algorithmus[citation needed].

Historischer Bezug[edit]

Der Ursprung[1] aller LOD-Algorithmen für 3D-Computergrafiken lassen sich auf einen Artikel von James H. Clark in der Oktoberausgabe 1976 von zurückführen Mitteilungen der ACM. Zu dieser Zeit waren Computer monolithisch und selten, und Grafiken wurden von Forschern gesteuert. Die Hardware selbst war sowohl architektonisch als auch leistungsmäßig völlig anders. Daher konnten viele Unterschiede in Bezug auf die heutigen Algorithmen, aber auch viele Gemeinsamkeiten beobachtet werden.

Der ursprüngliche Algorithmus präsentierte einen viel allgemeineren Ansatz für das, was hier diskutiert wird. Nach der Einführung einiger verfügbarer Algorithmen für das Geometriemanagement wird festgestellt, dass die meisten fruchtbaren Gewinne erzielt wurden “… Strukturierung der gerenderten Umgebungen”Dies ermöglicht schnellere Transformationen und Beschneidungsvorgänge.

Dieselbe Umgebungsstrukturierung wird jetzt vorgeschlagen, um unterschiedliche Details zu steuern und so unnötige Berechnungen zu vermeiden und gleichzeitig eine angemessene visuelle Qualität zu erzielen:

Zum Beispiel sieht ein Dodekaeder aus einer ausreichend großen Entfernung wie eine Kugel aus und kann daher verwendet werden, um es zu modellieren, solange es aus dieser oder einer größeren Entfernung betrachtet wird. Wenn es jedoch jemals genauer betrachtet werden muss, sieht es aus wie ein Dodekaeder. Eine Lösung hierfür besteht einfach darin, es mit den detailliertesten Details zu definieren, die jemals erforderlich sein werden. Dann könnte es jedoch weitaus detaillierter sein, als es für die Darstellung in großen Entfernungen erforderlich ist, und in einer komplexen Umgebung mit vielen solchen Objekten wären zu viele Polygone (oder andere geometrische Grundelemente) vorhanden, als dass die Algorithmen für sichtbare Oberflächen effizient handhaben könnten.

Der vorgeschlagene Algorithmus sieht eine Baumdatenstruktur vor, die in ihren Bögen sowohl Transformationen als auch Übergänge zu detaillierteren Objekten codiert. Auf diese Weise codiert jeder Knoten ein Objekt und gemäß einer schnellen Heuristik wird der Baum zu den Blättern hinabgestiegen, die jedem Objekt mehr Details liefern. Wenn ein Blatt erreicht ist, können andere Methoden verwendet werden, wenn höhere Details erforderlich sind, z. B. die rekursive Unterteilung von Catmull[2].

Der wesentliche Punkt ist jedoch, dass in einer komplexen Umgebung die Menge an Informationen, die über die verschiedenen Objekte in der Umgebung präsentiert werden, je nach dem Anteil des Sichtfelds variiert, den diese Objekte einnehmen.

Das Papier führt dann Clipping (nicht zu verwechseln mit Keulen, obwohl oft ähnlich), verschiedene Überlegungen zum Thema ein grafischer Arbeitssatz und seine Auswirkungen auf die Leistung, Interaktionen zwischen dem vorgeschlagenen Algorithmus und anderen, um die Rendergeschwindigkeit zu verbessern.

Bekannte Ansätze[edit]

Obwohl der oben eingeführte Algorithmus eine ganze Reihe von Detailverwaltungstechniken abdeckt, verwenden reale Anwendungen normalerweise spezielle Methoden, die auf die gerenderten Informationen zugeschnitten sind. Abhängig von den Anforderungen der Situation werden zwei Hauptmethoden verwendet:

Die erste Methode, Diskrete Detailebenen (DLOD)umfasst das Erstellen mehrerer diskreter Versionen der ursprünglichen Geometrie mit verringerten geometrischen Detailebenen. Zur Laufzeit werden die Modelle mit vollständigen Details bei Bedarf durch Modelle mit reduzierten Details ersetzt. Aufgrund der diskreten Natur der Ebenen kann es zu einem visuellen Knallen kommen, wenn ein Modell gegen ein anderes ausgetauscht wird. Dies kann durch Alpha-Blending oder Morphing zwischen Zuständen während des Übergangs gemildert werden.

Die zweite Methode, Kontinuierliche Detailebenen (CLOD)verwendet eine Struktur, die ein stufenloses Spektrum geometrischer Details enthält. Die Struktur kann dann untersucht werden, um reibungslos den für die jeweilige Situation erforderlichen Detaillierungsgrad auszuwählen. Ein wesentlicher Vorteil dieser Technik ist die Fähigkeit, die Details lokal zu variieren. Beispielsweise kann die Seite eines großen Objekts, die näher an der Ansicht liegt, sehr detailliert dargestellt werden, während gleichzeitig das Detail auf seiner entfernten Seite reduziert wird.

In beiden Fällen werden LODs auf der Grundlage einer Heuristik ausgewählt, anhand derer beurteilt wird, wie viel Detail durch die Detailreduzierung verloren geht, z. B. durch Bewertung des geometrischen Fehlers des LOD im Vergleich zum Volldetailmodell. Objekte werden dann mit der minimalen Detailgenauigkeit angezeigt, die zur Erfüllung der Heuristik erforderlich ist. Diese soll geometrische Details so weit wie möglich minimieren, um die Leistung zu maximieren und gleichzeitig ein akzeptables Maß an visueller Qualität aufrechtzuerhalten.

Details zur diskreten LOD[edit]

Ein Beispiel für verschiedene DLOD-Bereiche. Dunkle Bereiche sollen detaillierter gerendert werden. Ein zusätzlicher Keulungsvorgang wird ausgeführt, bei dem alle Informationen außerhalb des Kegelstumpfs (farbige Bereiche) verworfen werden.

Das Grundkonzept der diskreten LOD (DLOD) besteht darin, verschiedene Modelle bereitzustellen, um dasselbe Objekt darzustellen. Um diese Modelle zu erhalten, ist ein externer Algorithmus erforderlich, der häufig nicht trivial ist und Gegenstand vieler Polygonreduktionstechniken ist. Aufeinanderfolgende LOD-Algorithmen setzen einfach voraus, dass diese Modelle verfügbar sind.

DLOD-Algorithmen werden häufig in leistungsintensiven Anwendungen mit kleinen Datenmengen verwendet, die problemlos in den Speicher passen. Obwohl Out-of-Core-Algorithmen verwendet werden könnten, ist die Informationsgranularität für diese Art von Anwendung nicht gut geeignet. Diese Art von Algorithmus ist normalerweise einfacher in Betrieb zu nehmen und bietet aufgrund der wenigen Operationen sowohl eine schnellere Leistung als auch eine geringere CPU-Auslastung.

DLOD-Methoden werden häufig für “eigenständige” sich bewegende Objekte verwendet, möglicherweise einschließlich komplexer Animationsmethoden. Ein anderer Ansatz wird für das Geomipmapping verwendet.[3] Ein beliebter Terrain-Rendering-Algorithmus, da dies für Terrain-Netze gilt, die sich sowohl grafisch als auch topologisch von “Objekt” -Netzen unterscheiden. Anstatt einen Fehler zu berechnen und das Netz entsprechend zu vereinfachen, verwendet Geomipmapping eine feste Reduktionsmethode, bewertet den eingeführten Fehler und berechnet eine Entfernung, bei der der Fehler akzeptabel ist. Obwohl unkompliziert, bietet der Algorithmus eine anständige Leistung.

Ein diskretes LOD-Beispiel[edit]

Betrachten Sie als einfaches Beispiel eine Kugel. Ein diskreter LOD-Ansatz würde eine bestimmte Anzahl von Modellen zwischenspeichern, die in unterschiedlichen Entfernungen verwendet werden sollen. Da das Modell durch seine mathematische Formulierung trivial prozedural generiert werden kann, reicht die Verwendung einer unterschiedlichen Anzahl von auf der Oberfläche verteilten Stichprobenpunkten aus, um die verschiedenen erforderlichen Modelle zu generieren. Dieser Durchgang ist kein LOD-Algorithmus.

Um ein realistisches transformationsgebundenes Szenario zu simulieren, kann eine schriftliche Ad-hoc-Anwendung verwendet werden. Die Verwendung einfacher Algorithmen und minimaler Fragmentoperationen stellt sicher, dass keine CPU-Begrenzung auftritt. In jedem Frame berechnet das Programm die Entfernung jeder Kugel und wählt anhand dieser Informationen ein Modell aus einem Pool aus. Um das Konzept einfach darzustellen, ist die Entfernung, in der jedes Modell verwendet wird, in der Quelle fest codiert. Eine komplexere Methode würde geeignete Modelle entsprechend der gewählten Nutzungsentfernung berechnen.

OpenGL wird aufgrund seiner hohen Effizienz bei der Verwaltung kleiner Stapel zum Rendern verwendet. Dabei wird jedes Modell in einer Anzeigeliste gespeichert, wodurch Kommunikationsaufwand vermieden wird. Zusätzliche Scheitelpunktbelastung wird durch Anlegen von zwei gerichteten Lichtquellen erreicht, die idealerweise unendlich weit entfernt sind.

Die folgende Tabelle vergleicht die Leistung des LOD-fähigen Renderns mit einem vollständigen Detail (rohe Gewalt) Methode.

Visuelle Wirkungsvergleiche und -messungen
Brute DLOD Vergleich
Gerendert
Bilder
Renderzeit 27,27 ms 1,29 ms 21 × Reduktion
Szenenscheitelpunkte 2,328,480 109.440 21 × Reduktion

Hierarchische LOD[edit]

Da die Hardware auf große Detailmengen ausgerichtet ist, kann das Rendern von Objekten mit niedrigem Polygon zu suboptimalen Leistungen führen. HLOD vermeidet das Problem, indem verschiedene Objekte zusammengefasst werden[4]. Dies ermöglicht eine höhere Effizienz sowie die Berücksichtigung von Näherungsaspekten.

Praktische Anwendungen[edit]

Videospiele[edit]

LOD ist besonders nützlich in 3D-Videospielen. Entwickler von Videospielen möchten Spielern große Welten bieten, sind jedoch immer von Hardware, Bildrate und der Echtzeitnatur von Videospielgrafiken abhängig. Mit dem Aufkommen von 3D-Spielen in den 1990er Jahren haben viele Videospiele einfach keine entfernten Strukturen oder Objekte gerendert. Es würden nur Objekte in der Nähe gerendert und weiter entfernte Teile würden allmählich verblassen, was im Wesentlichen Entfernungsnebel implementieren würde. Videospiele mit LOD-Rendering vermeiden diesen Nebeleffekt und können größere Bereiche rendern. Einige bemerkenswerte frühe Beispiele für LOD-Rendering in 3D-Videospielen sind: Spyro der Drache, Crash Bandicoot: Verzogen, Unwirkliches Turnier und die Seriöser Sam Motor. Die meisten modernen 3D-Spiele verwenden eine Kombination aus LOD-Rendering-Techniken, wobei unterschiedliche Modelle für große Strukturen und Entfernungsmessung für Umgebungsdetails wie Gras und Bäume verwendet werden. Der Effekt ist manchmal immer noch spürbar, beispielsweise wenn der Spielercharakter über das virtuelle Gelände fliegt oder ein Scharfschützenfernrohr für die Fernsicht verwendet. Besonders Gras und Laub scheinen aufzutauchen, wenn sie näher kommen, auch bekannt als Laubkeulen.[4] LOD kann auch verwendet werden, um fraktales Gelände in Echtzeit zu rendern.[5]

In dem beliebten Stadtbauspiel Cities: Skylines ermöglichen Mods verschiedene LOD-Grade.

In GIS und 3D Stadtmodellierung[edit]

LOD findet sich in GIS- und 3D-Stadtmodellen als ähnliches Konzept. Es zeigt an, wie gründlich reale Merkmale abgebildet wurden und wie sehr das Modell an seinem realen Gegenstück haftet. Neben der geometrischen Komplexität können andere Metriken wie räumlich-semantische Kohärenz, Auflösung der Textur und Attribute in der LOD eines Modells berücksichtigt werden.[6]

Das Standard-CityGML enthält eine der bekanntesten LOD-Kategorisierungen.[7]

Die Analogie von “LOD-ing” in GIS wird als Verallgemeinerung bezeichnet.

Rendering- und Modellierungssoftware[edit]

  • MeshLab ist ein Open-Source-Netzverarbeitungswerkzeug, mit dem polygonale 3D-Netze genau vereinfacht werden können.
  • Polygon Cruncher ist eine kommerzielle Software von Mootools, die die Anzahl der Polygone von Objekten reduziert, ohne deren Erscheinungsbild zu ändern.
  • Simplygon ist ein kommerzielles Netzverarbeitungspaket zum erneuten Vernetzen allgemeiner Eingangsnetze in rendernde Echtzeitnetze.

Siehe auch[edit]

Verweise[edit]

  1. ^ Mitteilungen der ACM, Oktober 1976, Band 19, Nummer 10. Seiten 547-554. Hierarchische geometrische Modelle für Algorithmen für sichtbare Oberflächen von James H. Clark, Universität von Kalifornien in Santa Cruz. Digitalisierter Scan ist frei verfügbar unter https://web.archive.org/web/20060910212907/http://accad.osu.edu/%7Ewaynec/history/PDFs/clark-vis-surface.pdf.
  2. ^ Catmull E., Ein Unterteilungsalgorithmus für die Computeranzeige gekrümmter Oberflächen. Technik. Rep. UTEC-CSc-74-133, Universität von Utah, Salt Lake City, Utah, 1. Dezember
  3. ^ Ribelles, López und Belmonte, “Ein verbessertes diskretes Detaillierungsmodell durch eine inkrementelle Darstellung”, 2010, erhältlich unter http://www3.uji.es/~ribelles/papers/2010-TPCG/tpcg10.pdf
  4. ^ de Boer, WH, Schnelles Terrain-Rendering mit geometrischem Mipmapping, in FlipCode-Artikeln, Oktober 2000. Verfügbar unter https://www.flipcode.com/archives/Fast_Terrain_Rendering_Using_Geometrical_MipMapping.shtml.
  5. ^ Carl Eriksons Zeitung bei http://www.cs.unc.edu/Research/ProjectSummaries/hlods.pdf bietet einen schnellen und dennoch effektiven Überblick über HLOD-Mechanismen. Eine ausführlichere Beschreibung folgt in seiner Dissertation unter https://wwwx.cs.unc.edu/~geom/papers/documents/dissertations/erikson00.pdf.