Level of Detail

Aus DGL Wiki
(Weitergeleitet von LOD)
Wechseln zu: Navigation, Suche

LOD (Level of Detail)

Als LOD Algorithmen bezeichnet man in der Computergrafik allgemein gesagt die Verminderung des Rechenaufwandes durch Ausnützung von kaum bis nicht mehr wahrnehmbaren Unterschieden zwischen einem qualtitativ hochwertigem und einem qualitativ minderwertigerem Objekt. Der Level of Detail eines Objektes ist hierbei die daraus resultierende Qualitätsstufe. In den meisten Fällen spielt hierbei nur die Entfernung zum Betrachter und der Qualtitätsunterschied (häufig als Screenspace Error in Pixel angegeben) eine Rolle. Jedoch könnten auch Spezialfälle wie Volumetrischer Nebel, nicht bis wenig beleuchtete Bereiche oder ähnliches mit niedrigerem Level of Detail gezeichnet werden, was in Echtzeitanwendung jedoch selten Verwendung findet.

Die verbreitetste Anwendung von LOD findet am Mesh, also bei der Anzahl der Dreiecke die gerendert werden statt. Ein derartiger LOD Algorithmus ist jedoch natürlich nur sinnvoll, wenn die Applikation auf ein oder mehreren potentiellen Zielsystemen Vertexanzahlgebunden ist (und nicht CPU- oder Füllratengebunden). Speziell für Landschaften lassen sich durch die Ausrichtung der Punkte an einem festen Raster (siehe Heightmap) viele und auch effiziente LOD-Algorithmen finden.

Jedoch nicht nur die 3ecksanzahl kann durch LOD-Algorithmen verringert werden, sondern wird LOD auch häufig für Texturen eingesetzt, um den benötigten Platz für Texturen auf der Grafikkarte zu minimieren.

Es finden sich aber auch ganz andere Ansätze von Level of Detail wie Beispielsweise Imposters.

Selbst in der Filmindustrie werden Level of Detail Algorithmen verwendet um beispielsweise große Partikelsysteme darzustellen.

Ein nahezu unumgänglicher Nebeneffekt von LOD Algorithmen ist Popping. Da es bei Level of Detail Algorithmen immer eine endliche Anzahl von Stufen gibt führt dies bei einem Übergang zwischen 2 Stufen unweigerlich zu einer (mehr oder weniger, meistens jedoch mehr) groben Veränderung von einem Bild zum anderen. Aus diesem Grund sollte ein LOD Algorithmus immer die Möglichkeit bieten von einer Stufe zur anderen langsam zu Morphen.

LOD Algorithmen für allgemeine Objekte

Bezeichnung Vorteile Nachteile
VIPMs
  • Sehr effizient
  • entfernt 3eck für 3eck
  • Morphing sehr einfach und effizient realisierbar
  • Schwer anwendbar für dynamische oder animierte Objekte
  • Speicherbedarf erhöht sich etwas, hält sich aber in Grenzen
  • Benötigt vorberechnete Daten
Mehrere Varianten eines Objektes die sich im LOD unterscheiden
  • Verhältnismäßig einfach realisierbar
  • Kann auch für animierte Objekte ohne Probleme verwendet werden
  • Objekt muss häufig doppelt gezeichnet werden um Popping zu verhindern
  • Speicheraufwand erhöht sich ebenfalls, kann jedoch bei effizienter implementierung ebenfalls stark in Grenzen gehalten werden
  • Benötigt vorberechnete Daten
Imposters
  • Sehr effiziente Vereinfachung
  • Keine vorberechneten Daten nötig
  • Es gibt nur 2 LOD Stufen
  • 2. LOD Stufe erst bei größeren Entfernungen brauchbar

LOD Algorithmen für Landschaften

Bezeichnung Vorteile Nachteile
ROAM
  • Top->Down => Landschaft muss nicht im vorhinein bekannt sein
  • Sehr genau (es wird 4eck für 4eck berechnet)
  • Verhältnismäßig hoher CPU-Aufwand
Lindstrom-Koller
  • Sehr genau (es wird 4eck für 4eck berechnet)
  • Im Vergleich zu ROAM besser bei schnell bewegter Kamera
  • Bottom->Up => Landschaft(-sbereich) muss im vorhinein bekannt sein
  • Verhältnismäßig hoher CPU-Aufwand
VIPMs
  • Sehr effizient
  • Nur brauchbar wenn Landschaft unterteilt in Patches (Blöcke)
  • Cracks (Löcher) die zwischen den Patches entstehen müssen mit alternativen Algorithmen gefüllt werden, welche jedoch entweder qualitativ oder von der Performance nicht an andere Algorithmen ran kommen.
  • Für Landschaften ist der benötigte vorberechnete Datenoverhead enorm hoch (prozentuell gesehen zu den restlichen Daten für die Landschaft)
Geometrical Mipmapping
  • Sehr effizient
  • Kein Datenoverhead notwendig
  • Bei sehr großen Level of Detail unterschieden nur noch begrenzt einsetzbar.