Detaillierungsgrad (Computergrafik) - Level of detail (computer graphics)

In der Computergrafik , Detailstufe ( LOD ) bezieht sich auf die Komplexität einer 3D - Modell Darstellung. LOD kann verringert werden, wenn sich das Modell vom Betrachter entfernt oder gemäß anderen Metriken wie Objektbedeutung, Blickpunkt-relative Geschwindigkeit oder Position. LOD-Techniken erhöhen die Effizienz des Renderns, indem sie die Arbeitslast auf Grafik-Pipeline- Stufen, normalerweise Vertex-Transformationen, verringern . Die reduzierte visuelle Qualität des Modells wird aufgrund des geringen Einflusses auf das Erscheinungsbild des Objekts in der Ferne oder bei schnellen Bewegungen oft nicht bemerkt.

Obwohl LOD meistens nur auf Geometriedetails angewendet wird , kann das Grundkonzept verallgemeinert werden. Kürzlich umfassten die LOD-Techniken auch das Shader- Management, um die Kontrolle der Pixelkomplexität zu behalten. Unter dem Namen Mipmapping wird seit Jahren eine Form des Level-of-Detail-Managements auf Textur-Maps angewendet , die ebenfalls eine höhere Rendering-Qualität bietet.

Es ist üblich zu sagen, dass "ein Objekt LOD-ed " ist, wenn das Objekt durch den zugrunde liegenden LOD-ing-Algorithmus vereinfacht wird .

Historische Referenz

Der Ursprung aller LOD-Algorithmen für 3D-Computergrafiken kann auf einen Artikel von James H. Clark in der Oktober-Ausgabe 1976 von Communications of the ACM zurückgeführt werden . Damals waren Computer monolithisch und selten, und Grafiken wurden von Forschern getrieben. Die Hardware selbst war völlig anders, sowohl architektonisch als auch leistungsmäßig. So konnten viele Unterschiede zu den heutigen Algorithmen, aber auch viele Gemeinsamkeiten festgestellt 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 aus der "...Strukturierung der zu rendernden Umgebungen" resultieren , die es ermöglicht, schnellere Transformationen und Clipping- Operationen auszunutzen .

Die gleiche Umgebungsstrukturierung wird nun vorgeschlagen, um unterschiedliche Details zu kontrollieren, um unnötige Berechnungen zu vermeiden und dennoch eine angemessene visuelle Qualität zu liefern:

Beispielsweise 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 einmal genauer betrachtet werden muss, wird es wie ein Dodekaeder aussehen. Eine Lösung hierfür besteht darin, es einfach so detailliert zu definieren, wie es jemals erforderlich sein wird. Dann kann es jedoch weitaus mehr Details aufweisen, als 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, um von den Algorithmen für sichtbare Oberflächen effizient verarbeitet zu werden.

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

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, entsprechend dem Bruchteil des von diesen Objekten eingenommenen Sichtfelds variiert.

Das Papier führt dann Clipping (nicht zu verwechseln mit Culling, obwohl es oft ähnlich ist), verschiedene Überlegungen zum grafischen Arbeitssatz und seine Auswirkungen auf die Leistung, Interaktionen zwischen dem vorgeschlagenen Algorithmus und andere ein, um die Rendering-Geschwindigkeit zu verbessern.

Bekannte Ansätze

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

Bei der ersten Methode, Discrete Levels of Detail (DLOD) , werden mehrere diskrete Versionen der Originalgeometrie mit verringerten geometrischen Details erstellt. Zur Laufzeit werden die Modelle mit vollständigen Details nach Bedarf durch die Modelle mit reduzierten Details ersetzt. Aufgrund der diskreten Natur der Ebenen kann es zu visuellen Poppings 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, Continuous Levels of Detail (CLOD) , verwendet eine Struktur, die ein kontinuierlich variables Spektrum geometrischer Details enthält. Die Struktur kann dann sondiert werden, um reibungslos den geeigneten Detaillierungsgrad auszuwählen, der für die Situation erforderlich ist. Ein wesentlicher Vorteil dieser Technik ist die Möglichkeit, die Details lokal zu variieren; beispielsweise kann die der Ansicht nähere Seite eines großen Objekts mit hoher Detailgenauigkeit dargestellt werden, während gleichzeitig die Details auf der entfernten Seite reduziert werden.

In beiden Fällen werden LODs auf der Grundlage einer Heuristik ausgewählt, die verwendet wird, um zu beurteilen, wie viel Detail durch die Detailreduzierung verloren geht, beispielsweise durch Auswertung des geometrischen Fehlers der LOD relativ zum vollständigen Detailmodell. Objekte werden dann mit der minimalen Detailmenge angezeigt, die erforderlich ist, um die Heuristik zu erfüllen, die darauf ausgelegt ist, geometrische Details so weit wie möglich zu minimieren, um die Leistung zu maximieren, während ein akzeptables Niveau an visueller Qualität beibehalten wird.

Details zum diskreten LOD

Ein Beispiel für verschiedene DLOD-Bereiche. Dunklere Bereiche sollen mit höheren Details gerendert werden. Ein zusätzlicher Culling-Vorgang 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. Das Erhalten dieser Modelle erfordert einen externen Algorithmus, der oft nicht trivial und Gegenstand vieler Polygonreduktionstechniken ist . Aufeinanderfolgende LOD-ing-Algorithmen gehen einfach davon aus, dass diese Modelle verfügbar sind.

DLOD-Algorithmen werden häufig in leistungsintensiven Anwendungen mit kleinen Datensätzen 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 in der Regel einfacher zu verwenden und bietet aufgrund der wenigen erforderlichen Vorgänge sowohl eine schnellere Leistung als auch eine geringere CPU- Auslastung.

DLOD-Methoden werden oft für "eigenständige" bewegte Objekte verwendet, möglicherweise einschließlich komplexer Animationsmethoden. Ein anderer Ansatz wird für Geomipmapping verwendet , einen beliebten Terrain-Rendering- Algorithmus, da dies für Terrain- Meshs gilt, die sich sowohl grafisch als auch topologisch von "Objekt"-Meshs unterscheiden. Anstatt einen Fehler zu berechnen und das Netz entsprechend zu vereinfachen, verwendet Geomipmapping eine feste Reduktionsmethode, wertet den eingeführten Fehler aus und berechnet einen Abstand, bei dem der Fehler akzeptabel ist. Obwohl einfach, bietet der Algorithmus eine anständige Leistung.

Ein diskretes LOD-Beispiel

Betrachten Sie als einfaches Beispiel eine Kugel . Ein diskreter LOD-Ansatz würde eine bestimmte Anzahl von Modellen zwischenspeichern, die bei unterschiedlichen Entfernungen verwendet werden sollen. Da das Modell durch seine mathematische Formulierung trivialerweise prozedural erzeugt werden kann, reicht es aus, eine unterschiedliche Anzahl von auf der Oberfläche verteilten Abtastpunkten zu verwenden, um die verschiedenen benötigten Modelle zu generieren. Dieser Pass ist kein LOD-ing-Algorithmus.

Visuelle Wirkungsvergleiche und Messungen
Bild Eine fein quastenförmige Drahtmodellkugel mit über 5000 Abtastpunkten. Eine hochquastenbesetzte Wireframe-Kugel, fast 2900 Punkte. Eine Drahtmodellkugel mit ungefähr 1600 Abtastpunkten. Eine Drahtmodellkugel mit fast 700 Scheitelpunkten, gut aus der Ferne betrachtet. Eine Drahtmodellkugel mit weniger als 150 Abtastpunkten, aber immer noch ausreichend für weit entfernte Objekte.
Scheitelpunkte ~5500 ~2880 ~1580 ~670 140
Anmerkungen Maximale Detailgenauigkeit
für Nahaufnahmen.
Minimale Details,
sehr weit entfernte Objekte.

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

OpenGL wird aufgrund seiner hohen Effizienz bei der Verwaltung kleiner Batches zum Rendern verwendet, wobei jedes Modell in einer Anzeigeliste gespeichert wird, wodurch Kommunikations-Overheads vermieden werden. Zusätzliche Scheitellast wird durch die Anwendung von zwei gerichteten Lichtquellen erreicht, die idealerweise unendlich weit entfernt sind.

Die folgende Tabelle vergleicht die Leistung von LOD-Aware-Rendering und einer Full-Detail- Methode ( Brute-Force- Methode).

Visuelle Wirkungsvergleiche und Messungen
Brute DLOD Vergleich
Gerenderte
Bilder
Szene mit maximalem Detail. Gleiche Szene wie oben mit aktiviertem Lodding. Das fast schwarze Differenzbild zeigt keinen leicht erkennbaren Unterschied.
Renderzeit 27,27 ms 1,29 ms 21 × Reduktion
Szenenscheitelpunkte 2.328.480 109.440 21 × Reduktion

Hierarchische LOD

Da die Hardware auf große Detailmengen ausgerichtet ist, kann das Rendern von Objekten mit niedrigen Polygonen eine suboptimale Leistung erzielen. HLOD vermeidet das Problem, indem verschiedene Objekte gruppiert werden. Dies ermöglicht eine höhere Effizienz sowie die Ausnutzung von Überlegungen zur Nähe.

Praktische Anwendungen

Videospiele

LOD ist besonders nützlich in 3D-Videospielen. Entwickler von Videospielen möchten den Spielern große Welten bieten, sind jedoch immer durch Hardware, Bildrate und die Echtzeitnatur von Videospielgrafiken eingeschränkt. Mit dem Aufkommen von 3D-Spielen in den 1990er Jahren haben viele Videospiele einfach keine entfernten Strukturen oder Objekte gerendert. Nur würden in der Nähe Objekte gerendert und weiter entfernte Teile allmählich verblassen würden, im Wesentlichen der Umsetzung Distanznebel . 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 The Killing Cloud , Spyro the Dragon , Crash Bandicoot: Warped , Unreal Tournament und die Serious Sam- Engine. Die meisten modernen 3D-Spiele verwenden eine Kombination aus LOD-Rendering-Techniken, die verschiedene Modelle für große Strukturen und Entfernungs-Culling für Umgebungsdetails wie Gras und Bäume verwenden. Der Effekt ist manchmal noch spürbar, zum Beispiel wenn die Spielerfigur über das virtuelle Gelände fliegt oder ein Scharfschützenfernrohr für die Fernsicht verwendet. Vor allem Gras und Laub erscheinen bei näherer Annäherung, auch bekannt als Laubausrottung. LOD kann auch verwendet werden, um fraktales Terrain in Echtzeit zu rendern .

Im beliebten Städtebauspiel Cities: Skylines ermöglichen Mods verschiedene LOD-Grade.

In GIS und 3D-Stadtmodellierung

LOD findet sich in GIS und 3D-Stadtmodellen als ähnliches Konzept. Es zeigt an, wie gründlich reale Features abgebildet wurden und wie sehr das Modell seinem realen Gegenstück entspricht. Neben der geometrischen Komplexität können auch andere Metriken wie räumlich-semantische Kohärenz, Auflösung der Textur und Attribute in der LOD eines Modells berücksichtigt werden. Der Standard CityGML enthält eine der bekanntesten LOD-Kategorisierungen.

Die Analogie des "LOD-ing" in GIS wird als Generalisierung bezeichnet .

Rendering- und Modellierungssoftware

Siehe auch

Verweise

  1. ^ Mitteilungen der ACM, Oktober 1976, Band 19, Nummer 10. Seiten 547–554. Hierarchische geometrische Modelle für Algorithmen für sichtbare OberflächenvonJames H. Clark, University of California in Santa Cruz. Digitalisierter Scan ist frei verfügbar unterhttps://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 von gekrümmten Oberflächen. Technik. Rep. UTEC-CSc-74-133, University of Utah, Salt Lake City, Utah, 1. Dezember
  3. ^ Ribelles, López und Belmonte, "An Improved Discrete Level of Detail Model Through an Incremental Representation", 2010, Verfügbar unterhttp://www3.uji.es/~ribelles/papers/2010-TPCG/tpcg10.pdf
  4. ^ de Boer, WH,Fast Terrain Rendering using Geometrical Mipmapping, in FlipCode-Artikeln, Oktober 2000. Verfügbar unterhttps://www.flipcode.com/archives/Fast_Terrain_Rendering_Using_Geometrical_MipMapping.shtml.
  5. ^ Carl Eriksons Aufsatz unterhttp://www.cs.unc.edu/Research/ProjectSummaries/hlods.pdfbietet einen schnellen, aber effektiven Überblick über HLOD-Mechanismen. Eine ausführlichere Beschreibung folgt in seiner Dissertation unterhttps://wwwx.cs.unc.edu/~geom/papers/documents/dissertations/erikson00.pdf.