Frage

Rasterung (Dreiecke) und Raytracing sind die einzigen Methoden, die ich je begegnet bin gekommen, eine 3D-Szene zu machen. Gibt es andere? Auch ich würde gerne irgendein andere wissen, wirklich „da draußen“ Wege zu tun 3D, wie nicht Polygone verwendet wird.

War es hilfreich?

Lösung

Aagh! Diese Antworten sind sehr uninformiert!

Natürlich hilft es nicht, dass die Frage ungenau ist.

OK „Rendering“ ist ein wirklich breites Thema. Ein Problem innerhalb Rendering Kamera Sichtbarkeit oder „versteckte Oberfläche Algorithmen“ - herauszufinden, was Objekte in jedem Pixel zu sehen sind. Es gibt verschiedene Kategorisierungen Sichtbarkeitsalgorithmen. Das ist wahrscheinlich , was das Plakat fragt nach (vorausgesetzt, dass sie dachten, es als eine Dichotomie zwischen „Rasterisierung“ und „Ray Tracing“).

Ein Klassiker (obwohl jetzt etwas veraltet) Kategorisierung Referenz Sutherland et al „A Charakterisierung von zehn versteckten Oberfläche Algorithms“, ACM Computer-Surveys 1974 Es ist sehr veraltet, aber es ist immer noch hervorragend für einen Rahmen für die darüber nachzudenken, wie man kategorisieren solche Algorithmen.

Eine Klasse von verborgenen Oberflächenalgorithmen beinhaltet „Ray-Casting“, die von der Kamera durch jedes Pixel mit Objekten den Schnittpunkt der Linie ist, die Berechnung (die verschiedenen Darstellungen aufweisen, einschließlich Dreiecke, algebraischen Oberflächen, NURBS, etc.).

Andere Klassen von verborgenen Oberflächenalgorithmen umfassen „Z-Puffer“, „Scanline-Techniken“, „Prioritätsliste Algorithmen“, und so weiter. Sie waren ziemlich verflixt kreativ mit Algorithmen zurück in den Tagen, als es gab nicht viele Rechenzyklen und nicht genug Speicher, der einen Z-Puffer zu speichern.

In diesen Tagen sind sowohl Rechen- und Speicher billig, und so drei Techniken haben ziemlich viel gewonnen aus: (1) Zerteilen alles in Dreiecke und mit einem Z-Puffer; (2) Raycasting; (3) Reyes artige Algorithmen, die eine erweiterte z-Puffer verwendet, der Transparenz und dergleichen zu handhaben. Moderne Grafikkarten tun # 1; High-End-Software-Rendering in der Regel tut # 2 oder # 3 oder eine Kombination. Obwohl verschiedenen Raytracing-Hardware vorgeschlagen worden, und manchmal gebaut, aber nie gefangen, und auch sind nun moderne GPUs programmierbare genug, um tatsächlich Strahlenspur, wenn auch bei einem schweren Geschwindigkeit Nachteile ihrer hartcodierte Rasterung Techniken. Andere exotische Algorithmen meist auf der Strecke über die Jahre gesunken. (Obwohl verschiedene Sortier- / splatting Algorithmen können für Volumen-Rendering oder andere spezielle Zwecke verwendet werden.)

„Rastern“ wirklich nur bedeutet „herauszufinden, wie viele Pixel ein Objekt liegt auf.“ Konvention schreibt vor, dass es Raytracing ausschließt, aber das ist wackelig. Ich nehme an, Sie könnten, dass die Rasterung Antworten rechtfertigen „die Pixel bedeuten diese Form überlappt“, während Ray-Tracing-Antworten „das Objekt hinter diesem Pixel ist“, wenn Sie den Unterschied sehen.

Nun, versteckte Oberflächenentfernung ist nicht das einzige Problem im Bereich des zu lösenden „rendering.“ Zu wissen, welche Aufgabe in jedem Pixel sichtbar ist, ist nur ein Anfang; Sie müssen auch wissen, welche Farbe es ist, was bedeutet, einige Verfahren zur Berechnung, die, wie sich Licht ausbreitet um die Szene. Es gibt eine ganze Reihe von Techniken, gebrochen in der Regel nach unten in dem Umgang mit Schatten, Reflexionen und „Global Illumination“ (das, was zwischen den Objekten springt, im Gegensatz zu direkt von Lichtern kommen).

„Ray Tracing“ ist die Ray-Casting-Technik anwenden, um auch die Sichtbarkeit für Schatten zu bestimmen, Reflexionen, globale Beleuchtung, etc. Es ist möglich ray zu verwenden für alles Tracing, oder für Schatten Tracing verschiedene Rastern Methoden zur Kamera Sichtbarkeit und Strahl zu verwenden, , Reflexionen und GI. „Photon Mapping“ und „Pfad Tracing“ sind Techniken für bestimmte Arten von Lichtausbreitung Berechnung (Raytracing verwendet wird, so ist es einfach falsch zu sagen, sie sind irgendwie im Grunde eine andere Rendering-Technik). Darüber hinaus gibt es globale Beleuchtungstechniken, die Raytracing, wie „Radiosity“ keine Methoden verwenden (die zur Lösung globaler Lichtausbreitung eine Finite-Elemente-Methode ist, aber in den meisten Teilen des Feldes haben in Ungnade gefallen in letzter Zeit). Aber der Einsatz von Radiosity oder Photon Mapping für Lichtausbreitung STILL erfordert, dass Sie ein endgültiges Bild irgendwie zu machen, in der Regelmit einer der Standardtechniken (Raycasting, z Puffer / Rasterung, etc.).

Nutzer, die bestimmte Formdarstellungen (NURBS, Volumen, Dreiecke) sind auch ein wenig verwirrt erwähnen. Dies ist ein orthogonales Problem Raytraceergebnis vs Rasterung. Zum Beispiel können Sie Raytraceergebnis nurbs direkt, oder Sie können die NURBS in Dreiecke in Würfel schneiden und sie verfolgen. Sie können direkt Dreiecke in einen Z-Puffer rastern, aber Sie können auch direkt rasterize hoher Ordnung parametrischer Oberflächen in Scanlinie um (vgl Lane / Carpenter / etc CACM 1980).

Andere Tipps

Es gibt eine Technik, Photon Mapping genannt dass Raytracing eigentlich recht ähnlich ist, aber bietet verschiedene Vorteile in komplexen Szenen. In der Tat ist es die einzige Methode (zumindest von denen ich weiß), das wirklich realistisch bietet Rendering (das heißt alle Gesetze der Optik befolgt werden), wenn es richtig gemacht. Es ist eine Technik, die sparsam wie weit verwendet wird, wie ich weiß, da es Leistung ist enorm schlechter als auch Raytracing (vorausgesetzt, dass es effektiv das Gegenteil tut und simuliert die durch Photonen, die von den Lichtquellen der Kamera aufgenommen wurden Pfade) - doch das ist es Einziger Nachteil. Es ist sicherlich ein interessanter Algorithmus, obwohl Sie sich nicht in Gebrauch widescale bis weit nach ray gehen, um zu sehen Tracing (wenn überhaupt).

Der Rendering Artikel auf Wikipedia umfasst verschiedene Techniken .

Intro Absatz:

  

Viele Rendering-Algorithmen haben   recherchiert und Software verwendet für   Rendering verwenden kann, eine Reihe von   verschiedene Techniken, um eine endgültige zu erhalten   Bild.

     

jeden Lichtstrahl in einer Szene Tracing   ist unpraktisch und würde ein   enorm viel Zeit. auch Tracing   ein Teil groß genug, um eine zu erzeugen,   Bild nimmt eine ungeregelte Menge   Zeit, wenn die Probenahme nicht ist   intelligent beschränkt.

     

Daher vier lose Familien   mehr effiziente Lichttransport   Modellierungstechniken entstanden:    Rasterung , einschließlich der Scanlinie   Rendering, geometrisch Projekte   Objekte in der Szene zu einem Bild   Flugzeug, ohne erweiterte optische   Auswirkungen; Strahlwerfprozessoren hält die   Szene wie aus einem bestimmten beobachtet   Point-of-view, die Rechen   beobachtete Bild basiert nur auf Geometrie   und sehr grundlegende optische Gesetze   Reflexionsintensität und vielleicht   Monte-Carlo-Techniken zu reduzieren,   Artefakte; Radiosity verwendet endliche   Element Mathematik zu simulieren   diffuse Ausbreitung von Licht aus   Oberflächen; und Raytracing ist ähnlich   zu Ray-Casting, beschäftigt aber mehr   erweiterte optische Simulation und   in der Regel verwendet Monte Carlo-Techniken   erhalten realistischere Ergebnisse zu einem   Geschwindigkeit, die oft Ordnungen   Größenordnung langsamer.

     

Die fortschrittliche Software kombiniert zwei oder   mehr der Techniken zu erhalten,   gut genug, um Ergebnisse zu vernünftigen   Kosten.

     

Ein weiterer Unterschied zwischen Bild   Um Algorithmen, die iterieren   Pixel der Bildebene und das Objekt   Um Algorithmen, die iterieren   Objekte in der Szene. Im allgemeinen Objekt   Auftrag ist effizienter, da es   in der Regel weniger Objekte in einer Szene als   Pixel.

Aus diesen Beschreibungen, nur Radiosity in Konzept zu mir anders scheint.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top