LOD in modernen Spielen [geschlossen]

14

Ich arbeite gerade an meiner Masterarbeit über LOD und Netzvereinfachung und habe viele wissenschaftliche Artikel und Artikel zu diesem Thema gelesen. Ich kann jedoch nicht genügend Informationen darüber finden, wie LOD in modernen Spielen verwendet wird. Ich weiß, dass viele Spiele eine Art dynamisches LOD für das Terrain verwenden, aber was ist mit woanders?

Detailgenauigkeit für 3D-Grafiken weist beispielsweise darauf hin, dass diskrete LOD (bei denen Künstler mehrere Modelle im Voraus vorbereiten) aufgrund des Leistungsaufwands von kontinuierlicher LOD weit verbreitet ist. Das Buch wurde jedoch 2002 veröffentlicht und ich frage mich, ob die Dinge jetzt anders sind. Es wurde nachgeforscht, wie dynamisches LOD mit dem Geometrie-Shader durchgeführt werden kann ( dieses Papier zum Beispiel mit seiner Implementierung in ShaderX6). Wäre dies in einem modernen Spiel sinnvoll?

Zusammenfassend ist meine Frage über den Stand der LOD in modernen Videospielen, welche Algorithmen werden verwendet und warum? Wird insbesondere eine ansichtsabhängige kontinuierliche Vereinfachung verwendet, oder macht der Laufzeitaufwand die Verwendung diskreter Modelle mit ordnungsgemäßer Mischung und Betrügern zu einer attraktiveren Lösung? Wenn diskrete Modelle verwendet werden, wird ein Algorithmus (z. B. Vertex-Clustering ) verwendet, um sie offline zu generieren. Erstellen Künstler die Modelle manuell oder wird möglicherweise eine Kombination aus beiden Methoden verwendet?

Firas Assaad
quelle
Ich würde vorschlagen, ein "Rendering" -Tag hinzuzufügen, da Sie sich nur für Grafik-LOD interessieren, wohingegen LOD auch für Physik, KI und jeden anderen Bereich verwendet werden kann, in dem die Wichtigkeit basierend auf der Entfernung zu etwas oder der Leistung verringert werden kann.
Kaj
@ Kaj: Guter Punkt. Ich spreche insbesondere von der Vereinfachung von Polygonnetzen.
Firas Assaad
Oh, anscheinend haben wir zur selben Zeit bearbeitet (ich habe vergessen, Tags hinzuzufügen, Sie können die Grafikprogrammierung jederzeit entfernen: o \). Ich werde später versuchen, eine Antwort zu finden - bin heute in der Krise.
Kaj

Antworten:

9

Derzeit scheint es, dass diskretes LOD immer noch bevorzugt wird, aber es bleibt abzuwarten, ob sich dies mit der nächsten Generation von Konsolenhardware ändern wird.

Tom Forsyth hat viel über Continuous LOD geschrieben, was er "Progressive Meshing" nennt. Spiel Gems 2 purports Programmierung einer dieser Gegenstände zu haben, aber es scheint , gespiegelt zu werden hier .

Ich glaube, eines von Toms Spielen wird mit progressivem Meshing auf Konsolenhardware der neuesten Generation ausgeliefert. Ich glaube nicht, dass es der Rechenaufwand ist, um den sich die Leute mit kontinuierlicher LOD sorgen. Ich denke, es ist eher so, dass diskrete LOD einfacher ist. Kontinuierliche LOD hebt schwerer in der Werkzeugleitung und hat nicht genügend klare Vorteile.

Für die Erzeugung diskreter LODs verwenden wir eine Kombination aus automatischen Werkzeugen und Künstlererstellung. Das DirectX SDK enthält einige Funktionen zum automatischen Reduzieren der Geometrie. Ich glaube, wir verwenden diese Funktion als ersten Durchgang. Wenn die Qualität nicht ausreicht, können Künstler die diskreten LODs von Hand oder mit zusätzlichen Tools in Maya erstellen.

Dan Olson
quelle
1
Ich glaube, der Messias hat ausgiebig progressive Netze eingesetzt. Es scheint, als ob die Welt vor Äonen darüber aufgeregt war. Aber ich stimme dir zu, statische Aufladung scheint immer noch vorherrschend zu sein, wo ich hinschaue. Es ist schwierig, algorithmisch zu entscheiden, welche Details zu bewahren sind, obwohl viele SigGraph-Artikel darüber geschrieben wurden, wie OP sicher weiß. Nebenbei bemerkt, eine nette Methode, an die ich mich immer erinnerte, war das Kapitel „True Imposter“ in einem der Juwelen der Spielprogrammierung, von denen ich glaube, dass sie Imposter mit Parralax-Okklusionskartierung verwenden. Ich weiß, dass ich mehr Artikel gesehen habe, die nach der gleichen Methode geschrieben wurden (Fabio Policarpo vielleicht?)
Kaj
1
Ein weiterer Nachteil von Continuous LOD ist der in der Konsolenumgebung festgelegte verfügbare Speicher. Mit diskreten Objekten können Sie die hochauflösenden Modelle und all ihre abhängigen Texturen / Shader verwerfen und ein viel kostengünstigeres Modell mit einem einfachen Shader und einer vorkombinierten kleineren Textur austauschen. In Open-World-Titeln ist es oft ein größerer Kampf als bei CPU / GPU-Zyklen, darüber zu streiten, welche Daten den begrenzten verfügbaren Speicher ausfüllen.
Woche
6
  • Oberbefehlshaber (1 & 2) - Diese Echtzeitstrategie ist stolz auf die Tatsache, dass Sie nahtlos herauszoomen können, um eine Karte des Schlachtfelds zu sehen, und dann einen Bereich ganz hineinzoomen und verwalten können. Es verwendet LOD sehr gut, wenn Sie hinein- und herauszoomen, um die Grafikkarte nicht zu überlasten, und ab einer bestimmten Verkleinerungsstufe werden die Maschen durch 2D-Bilder des jeweiligen Einheitentyps ersetzt, sodass die Karte des Schlachtfelds deutlich wird Zeigen Sie, wo sich die Dinge befinden (da offensichtlich ein 3D-Netz mit sehr geringen Details bei 20.000 Fuß nicht zu unterscheiden wäre). Sie können den 2D-Ersetzungseffekt in den ersten Sekunden dieses Videos ziemlich deutlich sehen .
  • RollerCoaster Tycoon 3 - Ähnlich wie bei Supreme Commander können Sie in diesem Spiel nach Belieben hinein- und herauszoomen, den gesamten Themenpark anzeigen oder eine einzelne Achterbahn verwalten. Es wird kein 2D-Bildersatz verwendet, aber dank LOD bleibt alles glatt. Nicht nur die Qualität der großen Maschen nimmt ab, sondern auch kleine Details wie die herumlaufenden Personen verschwinden, wenn Sie weit genug herauszoomen.
  • Legende von Zelda: Wind Waker - Wenn Sie auf dem offenen Meer segeln, können Sie sich umschauen und die nächstgelegenen Inseln sehen. Sie sind jedoch nur Silhouetten der Inseln, und die tatsächlichen 3D-Modelle werden erst geladen, wenn Sie sich einer Insel nähern. Andere Merkmale der Insel laden ebenso ein, wie Feinde und Taifune in den nahe gelegenen Gewässern; Unglücklicherweise kann der Spieler sehen, dass sie "auftauchen", wenn er sich nähert, aber insgesamt ist es eine gute Technik, die verhindert, dass die Nintendo GameCube-Hardware überlastet wird, während der Spieler ein ziemlich genaues Gefühl beim Segeln auf den Meeren bekommt und in der Lage ist, markante Inseln zu unterscheiden die Distanz.
  • Elder Scrolls IV: Oblivion - Ich habe dieses Spiel schon lange nicht mehr gespielt, aber ich weiß, dass es entweder Silhouetten oder wirklich detailarme Modelle für ferne Wahrzeichen wie den hohen Turm einer der Städte und ferne Berge verwendet .

LOD wird nicht nur für Gelände, sondern auch für Silhouetten entfernter Strukturen und für Adleraugenansichten von Strategie- / Simulationsspielen verwendet. Ich kenne die Details der Algorithmen nicht und denke, das ist der Hauptteil Ihrer Frage, aber ich wollte Ihnen einige Beispiele für den Stand der LOD in modernen Videospielen geben.

Ricket
quelle
4

Ein moderner Ansatz für kontinuierliches LOD ist die Hardware-Tessellation. Die Hardware-Tessellation wurde in DirectX 11 implementiert und bietet im Wesentlichen eine programmierbare Unterteilung von Oberflächen. Da dies auf der GPU implementiert ist, sind wesentlich mehr Details möglich als bei der CPU-generierten Tessellation. Durch Unterteilen von Oberflächen basierend auf dem Betrachtungsabstand können Sie beispielsweise eine Form von kontinuierlichem LOD bereitstellen.

Hardware-Tessellation ist eine sehr neue Funktion von GPUs, und es gibt nicht viele Spiele, die sie verwenden. Ich vermute, dass die Spiele, die es hauptsächlich als Drop-In für das Bump-Mapping verwenden, die tatsächliche Geometrie ändern können, anstatt das Bump-Mapping im Pixel-Shader. Es gibt wahrscheinlich viel Raum für weitere Untersuchungen zur Vereinfachung und Verbesserung von Netzen mithilfe von Hardware-Tessellation.

Einige weitere Ressourcen:

thekidder
quelle
Bis jetzt halte ich es eher für eine Vorzeigetechnologie als für eine praktische, da Sie wirklich eine große Menge von Zielgruppen ausschließen. Aber ja, Prozeduren könnten in irgendeiner Form der Weg nach vorne sein, nur nicht sicher, ob es sich um die aktuelle Implementierung von MS handelt. Wir werden sehen.
Kaj
4

Hier ist ein alternativer Vorschlag, um es interessant zu halten. Die konvexe Zerlegung kann recht schnell ungefähre Geometrien erzeugen und ist normalerweise für Kollisionsnetze geeignet. Diese Netze funktionieren gut als LOD und sind plausibel als Echtzeit-Dezimierung zur Beschleunigung einer Pipeline.

http://codesuppository.blogspot.com/2009/11/convex-decomposition-library-now.html

Underscorediscovery
quelle
3

Bei LOD geht es darum, die Verarbeitungsmenge über die Zeit konstant zu halten. Die hierarchische Detailebene ist die einzige Möglichkeit, dies für Szenen mit erheblichen Details zu tun. Wenn Sie einem Objekt nahe genug sind, wird es in mehrere Objekte zerlegt. Diese rekursive LOD bietet nicht nur einen einfachen Mechanismus zum Behandeln der Übergangspunkte für das Umschalten in neue Detailebenen, sondern ermöglicht auch, dass die Anzahl der Renderaufrufe in etwa gleich bleibt, unabhängig davon, wie weit / nah Sie zu Ihren Weltobjekten gelangen.

Es ist alles sehr gut, großartige LODs für Ihre Netze und Texturen zu haben, aber in mindestens einem Spiel, das ich auf der PS2 ausgeliefert habe, habe ich Zeit gespart, indem ich einfach alle Blätter in Sektoren zu einzelnen Draw Calls zusammengefasst habe. Dieser größere Draw-Aufruf dauerte fast 90% weniger als das Rendern aller Low-Lod-Varianten, selbst bei sorgfältig geordneten Materialübergängen und Batch-Rendering aller Netzarten. Betrachten Sie also LOD mit Vorsicht. Es geht nicht nur um einzelne Objekte. Es geht um die gesamte Renderphase.

Richard Fabian
quelle
1

Ein weiteres Thema, über das Sie in Ihrem Vortrag diskutieren sollten (obwohl eine ganze These leicht allein zu diesem Thema verfasst werden könnte), ist die prozedurale Geländegenerierung.

Viele moderne Projekte beginnen damit, prozedurale Geländegenerierung in Echtzeit zu verwenden, um massive Geländeausdehnungen zu erzeugen (Outerra, Infinity (INovae), um nur einige der bekanntesten zu nennen). Diskrete LOD ist einfach keine Option, da die Netze prozedural sind.

Diese Gebiete verwenden häufig heirarchische Partitionierungsstrukturen wie Quadtrees, um die LOD zu bestimmen, und generieren ein Netz mit der geeigneten Auflösung basierend auf der Tiefe des Baumknotens.

Ohne den Einsatz von Continuos LOD wären diese großartigen Projekte einfach unmöglich.

Fischmensch
quelle