DE102014105146B4 - System, Verfahren und Computerprogrammprodukt zum Durchführen einer Pfad-Raum-Filterung - Google Patents

System, Verfahren und Computerprogrammprodukt zum Durchführen einer Pfad-Raum-Filterung Download PDF

Info

Publication number
DE102014105146B4
DE102014105146B4 DE102014105146.7A DE102014105146A DE102014105146B4 DE 102014105146 B4 DE102014105146 B4 DE 102014105146B4 DE 102014105146 A DE102014105146 A DE 102014105146A DE 102014105146 B4 DE102014105146 B4 DE 102014105146B4
Authority
DE
Germany
Prior art keywords
vertex
vertices
light
contribution
light transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102014105146.7A
Other languages
English (en)
Other versions
DE102014105146A1 (de
Inventor
Alexander Keller
Ken Patrik Dahm
Nikolaus Binder
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/166,794 external-priority patent/US9953457B2/en
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE102014105146A1 publication Critical patent/DE102014105146A1/de
Application granted granted Critical
Publication of DE102014105146B4 publication Critical patent/DE102014105146B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

Verfahren, aufweisend:- Erfassen eines Satzes von Lichtübertragungspfaden einer Lichtübertragungssimulation, die einer Szene zugeordnet sind;- Auswählen einer Mehrzahl von Vertices, die dem erfassten Satz von Lichtübertragungspfaden zugeordnet sind, wobei jeder ausgewählte Vertex einen zugeordneten Durchsatz und Lichtbeitrag aufweist;- Bestimmen eines durchschnittlichen Lichtbeitrages c̅ von jedem der ausgewählten Mehrzahl von Vertices, wobei ein oder mehrere Gewichtsfaktoren wi,jverwendet werden, wobei der durchschnittliche Lichtbeitrag eines ausgewählten Vertex basierend auf den Lichtbeiträgen für Vertices in der Nähe des ausgewählten Vertex berechnet wird; und- Kombinieren des durchschnittlichen Lichtbeitrags c̅i, von jedem Vertex in der ausgewählten Mehrzahl von Vertices, mit dem Durchsatz αi, welcher dem Vertex zugeordnet ist, um ein Produkt αi• c̅ifür den Vertex zu erzeugen, wobei der Durchsatz, welcher dem Vertex zugeordnet ist, eine akkumulierte Dämpfung von Licht umfasst, wenn es von diesem Vertex zu zumindest einem von einer Kamera oder einer Anzeige verläuft; und- Formen eines Bildes durch Akkumulieren des Produktes jedes ausgewählten Vertex in der Mehrzahl von Vertices; wobei das Bestimmen eines durchschnittlichen Lichtbeitrages von jedem der ausgewählten Mehrzahl von Vertices, wobei ein oder mehr Gewichtsfaktoren wi,jverwendet werden, iterativ ist, wobei in einem ersten Iterationsschritt c̅i, anstelle von ciin der Berechnung des gewichteten gemittelten Beitrages verwendet wird, um einen iterierten Beitrag c̅i, zu berechnen.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf Computer-Grafiken und genauer auf eine Durchführung einer Lichtübertragungssimulation.
  • HINTERGRUND
  • Lichtübertragungssimulation ist eine gängige Technik, die für eine Bilderzeugung genutzt wird. Beispielsweise kann eine Lichtübertragungssimulation fotorealistische Bilder liefern, wenn sie während einer Modellierung mit physikalischen Geräten, wie Kameras, Lichtquellen und Material über eine Oberfläche einer Szene implementiert wird. Trotzdem sind derzeitige Techniken zur Durchführung von Lichtübertragungssimulationen mit einer Reihe von Begrenzungen verbunden.
  • Abhängig von der Komplexität eines Modells kann beispielsweise das inhärente Rauschen von Simulationsalgorithmen mit im Laufe der Berechnung nur langsam verschwinden. Es besteht daher die Notwendigkeit, unter anderem dieses Problem des Standes der Technik zu lösen.
  • Die Druckschrift Keller, Alexander, Leonhard Grünschloß, and Marc Droske. „Quasi-Monte Carlo progressive photon mapping." Monte Carlo and Quasi-Monte Carlo Methods 2010. Springer, Berlin, Heidelberg, 2012. 499-509, offenbart offenbart eine Simulation von Lichttransport mittels Progressive Photon Mapping.
  • Die Druckschrift Ward, Gregory J., Francis M. Rubinstein, and Robert D. Clear. „A ray tracing solution for diffuse interreflection." Proceedings of the 15th annual conference on Computer graphics and interactive techniques. 1988, offenbart ein Raytracing-Verfahren zur Berechnung von Interreflexionen zwischen Oberflächen mit sowohl diffusen als auch spiegelnden Komponenten.
  • Die Druckschrift Knaus, Claude, and Matthias Zwicker. „Progressive photon mapping: A probabilistic approach.“ ACM Transactions on Graphics (TOG) 30.3 (2011): 1-13, offenbart Techniken für Progressive Photon Mapping.
  • Die Druckschrift Sung, Kelvin, Andrew Pearce, and Changyaw Wang. „Spatial-temporal antialiasing.“ IEEE Transactions on Visualization and Computer Graphics 8.2 (2002): 144-153, offenbart Techniken zur separaten Lösung von räumlich-zeitlichen geometrischen und Schattierungs-Aliasing-Problemen.
  • Die Druckschrift Ragan-Kelley, Jonathan, et al. „Decoupled sampling for graphics pipelines.“ ACM Transactions on Graphics (TOG) 30.3 (2011): 1-17, offenbart entkoppelte Abtastverfahren zur Entkopplung von Schattierung und Sichtbarkeitsabtastung in Grafikpipelines.
  • Die Druckschrift US 2012 / 0 200 570 A1 offenbart Bilderzeugungstechniken basierend auf einer Brechungseigenschaft und/oder Reflexionseigenschaft auf einem Objekt.
  • ZUSAMMENFASSUNG
  • Es werden ein System nach Anspruch 24, ein Verfahren nach Anspruch 1 und ein computer-lesbares Speichermedium nach Anspruch 23 zur Durchführung einer Pfad-Raum-Filterung vorgestellt. Bei deren Nutzung wird neben anderen Schritten ein Satz von Lichtübertragungspfaden, die einer Szene zugeordnet sind, abgetastet (sampled). Zusätzlich wird eine Mehrzahl von Vertices, die dem abgetasteten Satz von Lichtübertragungspfaden (light transport paths)zugeordnet sind, ausgewählt, wobei jeder ausgewählte Vertex einen zugeordneten Durchsatz und Lichtbeitrag aufweist. Darüber hinaus wird ein durchschnittlicher Lichtbeitrag jeder der ausgewählten Mehrzahl von Vertices unter Verwendung von einem oder mehr Gewichtsfaktoren bestimmt. Außerdem wird der durchschnittliche Lichtbeitrag jedes der ausgewählten Mehrzahl von Vertices nach einer Multiplikation des durchschnittlichen Lichtbeitrages jedes der ausgewählten Vertices mit dem zugeordneten Durchsatz des Vertex kombiniert.
  • Figurenliste
    • 1 stellt ein Verfahren zur Durchführung einer Pfad-Raum-Filterung entsprechend einem Ausführungsbeispiel dar.
    • 2 stellt eine beispielhafte Illustration einer Pfad-Raum-Filterung entsprechend einem anderen Ausführungsbeispiel dar.
    • 3 zeigt einen ersten Eindruck einer resultierenden Verbesserung der Leistung unter Nutzung der Pfad-Raum-Filterung entsprechend einem anderen Ausführungsbeispiel.
    • 4 stellt eine schematische Darstellung des grundsätzlichen Unterschiedes zwischen Strahleninterpolationen und Pfad-Raum-Filterung entsprechend einem anderen Ausführungsbeispiel dar.
    • 5 stellt einen Vergleich zwischen der Farbraumfilterung und Photonen-Mapping entsprechend einem anderen Ausführungsbeispiel dar.
    • 6 stellt ein exemplarisches System dar, in welchen die unterschiedlichen Architekturen und/oder Funktionalitäten der unterschiedlichen vorangegangenen Ausführungsbeispiele implementiert sein können.
  • Detaillierte Beschreibung
  • 1 stellt ein Verfahren 100 zur Durchführung der Pfad-Raum-Filterung entsprechend einem Ausführungsbeispiel dar. Wie in der Operation 102 dargestellt ist, wird ein Satz von Lichtübertragungspfaden, die einer Szene zugeordnet sind, abgetastet. In einem Ausführungsbeispiel kann die Szene eine grafische Szene aufweisen, die gerendert werden soll. In einem anderen Ausführungsbeispiel kann der Satz der Lichtübertragungspfade aus einer gesamten Anzahl von Lichtübertragungspfaden, die der Szene zugeordnet sind, gesampelt werden.
  • Zusätzlich kann in einem Ausführungsbeispiel ein Lichtübertragungspfad der Szene einen Strahl oder Pfad von Licht aufweisen, der durch die Szene verläuft (z.B. durch Pixel der Szene, usw.). Beispielsweise kann der Lichtpfad bei einer Lichtquelle beginnen und durch die Szene verlaufen, bis er eine Kamera erreicht. In einem anderen Ausführungsbeispiel kann das Abtasten des Satzes der Lichtübertragungspfade eine Auswahl von Pfaden aus der Gesamtanzahl der Lichtübertragungspfade, die der Szene zugeordnet sind, aufweisen. In wiederum einem anderen Ausführungsbeispiel kann das Abtasten der Lichtübertragungspfade entsprechend anderen Kriterien erfolgen. Beispielsweise kann der Satz der Lichtübertragungspfade durch eine oder mehrere Aktionen abgetastet werden, die einen oder mehr von Erzeugen von Augenpfade, Erzeugen von Lichtpfade und ein Verbinden von einem oder mehr Augenpfaden und Lichtpfaden durch einen oder mehr Schattenstrahlen und der Umgebung aufweisen. In wiederum einem anderen Ausführungsbeispiel können die Lichtübertragungspfade Lichtübertragungspfade mit Vertices in einem oder mehr von beteiligten Medien oder durchsichtigen Materialien (translucent matter) aufweisen.
  • Wie weiterhin in Operation 104 dargestellt, wird eine Mehrzahl von Vertices, die dem abgetasteten Satz von Lichtübertragungspfaden zugeordnet sind, ausgewählt, wobei jeder ausgewählte Vertex einen zugeordneten Durchsatz und Lichtbeitrag aufweist. In einem Ausführungsbeispiel kann jeder Vertex auf einen Kreuzungspunkt innerhalb der Szene hinweisen. Beispielsweise kann ein Vertex, der einem Lichtübertragungspfad zugeordnet ist, auf einen Kreuzungspunkt zwischen einem Licht Übertragungsweg und einer Oberfläche innerhalb der Szene hinweisen.
  • Weiterhin kann jeder Lichtbeitrag jedes Vertex einen Betrag von Licht aufweisen, das von dem zugeordneten Lichtübertragungspfad am Vertex beigetragen wird. In einem anderen Ausführungsbeispiel kann der Durchsatz, der jedem Vertex zugeordnet ist, eine akkumulierte Dämpfung des Lichtes aufweisen, wenn es von diesem Vertex zu zumindest einem von einer Kamera oder einem Anzeigeschirm verläuft.
  • Darüber hinaus kann in einem Ausführungsbeispiel der abgetastete Satz von Lichtübertragungspfaden lokal gefiltert sein. Beispielsweise können einer oder mehr Lichtübertragungspfade innerhalb des abgetasteten Satzes entsprechend einem oder mehr Kriterien entfernt werden. In einem anderen Ausführungsbeispiel kann das Filtern vor der Bestimmung des durchschnittlichen Lichtbeitrages von jedem der ausgewählten Mehrzahl von Vertices ausgeführt werden.
  • Zusätzlich kann in einem Ausführungsbeispiel das Filtern der Lichtübertragungspfade nach einem beliebigen Kriterium erfolgen. Beispielsweise kann das Filtern das Abtasten der einen oder mehreren Lichtübertragungspfade unter Nutzung einer zufälligen, pseudo-zufälligen oder quasi-zufälligen Auswahl der zu filternden Abtastungen erfolgen. Auf diese Weise kann die lokale Filterung die Effizienz einer numerischen Integro-Näherung, die durchgeführt wird, verbessern.
  • Darüber hinaus kann in einem weiteren Ausführungsbeispiel das Filtern der abgetasteten Lichtübertragungspfade zusätzlich ein Durchführen einer oder mehr zusätzlicher Aktionen aufweisen. Beispielsweise kann für den i-ten Lichtübertragungspfad innerhalb des abgetasteten Satzes von Lichtübertragungspfaden mindestens ein Vertex xi , eine Dämpfung αi entlang eines Augenpfadsegmentes zu dem Vertex xi und ein Strahlungsbeitrag ci des Lichtpfadsegmentes gespeichert werden.
  • Weiterhin kann in einem Ausführungsbeispiel das Filtern der abgetasteten Lichtübertragungspfade weiterhin ein Durchführen von einen oder mehr Akkumulationen aufweisen. Tabelle 1 stellt c̅i dar, welches während der Bildung eines Bildes durch die Akkumulation ∝i·c̅i entsprechend einem Ausführungsbeispiel genutzt wird. Natürlich sei darauf hingewiesen, dass die Darstellung von c̅i , wie in Tabelle 1 dargestellt ist, nur für illustrative Zwecke genutzt wird, und sollte deshalb nicht als in irgendeiner Art und Weise limitierend angesehen werden. Tabelle 1
    c ¯ i : = j = 0 b m 1 X B ( n ) ( x i b m b m + j x i ) w i , j c i b m b m + j j = 0 b m 1 X B ( n ) ( x i b m b m + j x i ) w i , j
    Figure DE102014105146B4_0001
  • Außerdem kann in einem Ausführungsbeispiel im Kontext der Tabelle 1 B einen Radius r (n) um den Vertex xi aufweisen. In einem anderen Ausführungsbeispiel kann der Radius r (n) ausgewählt sein aus entweder einem Abstand entlang eines Pfades oder einem festen Winkel. In wiederum einem anderen Ausführungsbeispiel kann die Strahlbeitrag ci mit einer zugeordneten Wellenlänge λi gemittelt werden, um eine Spektrallichtübertragung konsistent zu simulieren. Tabelle 2 stellt darüber hinaus Merkmale des Radius r (n) entsprechend einem Ausführungsbeispiel dar. Es sei darauf hingewiesen, dass die Merkmale des Radius r (n), wie in Tabelle 2 dargestellt, nur für illustrative Zwecke genutzt wird, und sie sollte deshalb nicht in irgendeiner Art und Weise als limitierend angesehen werden. Tabelle 2
    r 2 ( n )   : =  r 2 0 /n α  für  α ( 0,1 )
    Figure DE102014105146B4_0002
  • Darüber hinaus kann in einem Ausführungsbeispiel die Mehrzahl von Vertices unter Nutzung einer Bereichssuche ausgewählt werden. In einem anderen Ausführungsbeispiel kann die Bereichssuche ausgeführt werden durch mindestens einem von: einer Hash-Grid, einer klassischer Bereichssuche und einem Teile-und-Herrsche-Verfahren.
  • Wie in Operation 106 dargestellt, wird weiterhin ein durchschnittlicher Lichtbeitrag von jeder der ausgewählten Mehrzahl von Vertices unter Nutzung von einem oder mehr Gewichtsfaktoren bestimmt. In einem Ausführungsbeispiel können die einen oder mehreren Gewichtsfaktoren den durchschnittlichen Lichtbeitrag der einen oder mehr der ausgewählten Mehrzahl von Vertices verändern. In einem anderen Ausführungsbeispiel kann jeder der einen oder mehr Gewichtsfaktoren eine Ähnlichkeit zwischen einem oder mehr der ausgewählten Mehrzahl von Vertices messen, wobei die Ähnlichkeit von einem oder mehr einer geometrischen Ähnlichkeit, einer Übertragungsähnlichkeit und einer Wahrnehmungsähnlichkeit zwischen einem oder mehr der ausgewählten Mehrzahl von Vertices abhängen.
  • Wie auch in der Operation 108 dargestellt, wird der durchschnittliche Lichtbeitrag von jeden der ausgewählten Mehrzahl von Vertices nach einer Multiplikation des durchschnittlichen Lichtbeitrages von jedem der ausgewählten Vertices mit dem zugeordneten Durchsatz des Vertices kombiniert. In einem Ausführungsbeispiel kann das Auswählen, das Bestimmen und das Kombinieren sich in iterative Weise wiederholen. In einem anderen Ausführungsbeispiel kann das Auswählen, das Bestimmen, das Filtern und das Kombinieren in einem progressiven Verfahren implementiert sein.
  • Entsprechend einem Ausführungsbeispiel kann das Auswählen, das Bestimmen, das Filtern und das Zusammenfügen über mehrere Ansichten von einem oder mehr von Rendern von Stereo-Bild-Paaren, Rendern von multiplen Frames in einer Animation oder Rendern eines Satz von Bildern, welche für ein oder mehrere Lichtfeldanzeigen erforderlich sind, angewendet werden.
  • Darüber hinaus kann in einem Ausführungsbeispiel das Abtasten des Satzes der Lichtübertragungspfade von einer oder mehr Schattierungsoperationen entkoppelt sein. In einem anderen Ausführungsbeispiel kann die lokale Filterung des abgetasteten Satzes der Lichtübertragungspfade linear erfolgen und zusätzlich zu einer abtast-basierten Rendering-Engine angewendet werden. In wiederum einem anderen Ausführungsbeispiel kann das Abtasten des Satzes der Lichtübertragungspfade durch ein zufälliges, pseudozufälliges oder quasi-zufälliges Abtasten erfolgen.
  • Auf diese Weise kann das Kobinieren der durchschnittlichen Lichtbeiträge von jedem der ausgewählten Mehrzahl von Vertices während einer Lichtübertragungssimulation durchgeführt werden und die lokale Filterung kann eine Effizienz der Lichtübertragungssimulation verbessern. Zusätzlich kann ein Bild, das gerendert werden soll, festgelegt werden, und Pfadverfolgung (tracing) kann während des Renderns durchgeführt werden, wobei Pfad-Raum-Filterung zusammen mit der Pfadverfolgung durchgeführt wird.
  • Zusätzlich beschreibende Informationen werden hinsichtlich der verschiedenen optionalen Architekturen und Merkmalen beschrieben, mit denen das vorangehend beschriebene Framework entsprechend den Wünschen eines Anwenders implementiert sein kann oder nicht. Es sei betont, dass die folgenden für darstellende Zwecke angegebenen Informationen in keiner Art und Weise als limitierend angesehen werden sollten. Eines der folgenden Merkmale kann optional mit oder ohne Ausschluss von anderen beschriebenen Merkmalen einbezogen sein.
  • 2 stellt eine exemplarische Illustration 200 der Pfad-Raum-Filterung entsprechend einem Ausführungsbeispiel dar. Optional kann die Pfad-Raum-Filterung in der Darstellung 200 im Kontext der Funktionalität von 1 ausgeführt werden. Natürlich kann die Pfad-Raum-Filterung in der Darstellung 200 in jeder gewünschten Umgebung implementiert sein. Es sei außerdem darauf hingewiesen, dass die vorangegangenen Definitionen für die gesamte vorliegende Beschreibung gelten.
  • Wie dargestellt, wird der Beitrag des Strahles 202 (dargestellt als durchgezogene Linie), wenn man dem Strahl 202 von einem Auge 204 folgt, durch Mittelwertbildung der Beiträge von allen Pfaden mit Vertices in der durchgezogen dargestellten Kugel 204 um den Kreuzungspunkt bestimmt. Die beitragenden Pfadsegmente 208A-C sind als existierende durchgehende Pfeile dargestellt. Dies ist gegenüber einem Photonen-Mapping anders (siehe die gestrichelte Kugel 210), wobei einfallende Pfadsegmente mit einem Rückstrahl verbunden werden. In Analogie zum progressiven Photonen-Mapping muss der Radius der Kugel mit der Anzahl der Abtastungen verschwinden, um in einen konsistenten Algorithmus zu münden.
  • Eine Modellierung mit physikalischen Entitäten wie Kameras, Lichtquellen und Materialien oberhalb der Szenen-Oberfläche kann eine Lichtübertragungssimulation fotorealistische Bilder liefern. Das oben genannte Pfad-Raum-Filterung-Bildsynthese-Verfahren kann ohne persistente Näherungs-Artefakte konvergieren, kann nur einen kleinen Satz von Parametern aufweisen und kann einer Rauschreduktion ähnlich zu anderen Näherungsverfahren aufweisen.
  • Ein Zwischenspeichern (caching) von Abtastungen von Strahlen und eine Interpolation derselben, um die Effizienz der Lichtübertragungssimulation zu erhöhen, ist eine Technik, die in einem Renderer implementiert sein kann. Siehe beispielsweise in „A Ray Tracing Solution for Diffuse Interreflection“ (Ward et al., In Computer Graphics, Seiten 85 - 90, 1988) und „Practical Global Illumination with Irradiance Caching" (Krivanek et al., Synthesis lectures in computer graphics and animation. Morgan & Claypool, 2009). Einige derartig zu adressierende Elemente können Artefakte aufgrund der Interpretation von zwischengespeicherten Strahlungsabtastungen, die noch nicht konvergiert sind, und ein Flimmern in Animationen aufweisen, wenn immer adaptive Abtastungen nicht auf kohärente Art und Weise über die Zeit ausgeführt werden können. Siehe beispielsweise in „Radiance Caching for Global Illumination Computation on Glossy Surfaces“ (J. Krivanek, Ph.d. thesis, Universite de Rennes 1 and Czech Technical University in Prague, December 2005.
  • Lichtzwischenspeicher speichern Beleuchtungsabtastungen, die in den Vertices eines Pfad-Nachverfolgers in einem Vorprozess berechnet werden. Siehe beispielsweise in „http://www.spot3d.com/vray/help/150SP1/render params lightmap.htm“ und „http://www.spot3d.com/vray/help/150SP1/render params advancedimap.htm“. Dann kann die Effizienz der nachfolgenden Rendering-Phase durch eine Interpolation der globalen Beleuchtung aus gespeicherten Beleuchtungsabtastungen erhöht werden. Optional können diese Abtastungen gefiltert werden, um Rauschen zu reduzieren. Anstelle sich auf Interpolation zu verlassen, kann ein Diskontinuitätspuffer eine Varianz bei der Mittelwertbildung der Strahlung von benachbarten Pixeln durch ähnliche Lokation reduziert werden. Siehe beispielsweise in „Quasi-Monte Carlo Methods for Photorealistic Image Synthesis“ (A. Keller, PhD thesis, University of Kaiserslautern, Germany, 1998) und „Interactive Global Illumination using Fast Ray Tracing" (Wald et al., In P. Debevec und S. Gibson, editors, Rendering Techniques 2002 (Proc. 13th Eurographics Workshop on Rendering), pages 15-24, 2002).
  • Die Ideen einer Strahlen-Zwischenspeicherung und Filterung können zusammengefügt werden, wobei eine einfache Diskontinuitäts-Metrik in einem gewichteten Mittelwert genutzt werden kann, um die Strahlung durch Filterung anstelle einer Interpolation zu bestimmen. Siehe beispielsweise in „Irradiance filtering for Monte Carlo ray tracing" (Kontkanen et al., Monte Carlo and Quasi-Monte Carlo Methods 2004, Seiten 259-272. Springer, 2004).
  • In einem Ausführungsbeispiel kann ein sehr kleiner Satz von Abtastungen genügend Informationen für eine qualitativ hochwertige Bildsynthese bereitstellen. Anstelle einer Abtastung der originalen Gesamtheit kann eine Funktion, die zum Abtasten weniger aufwendig ist, von einem kleinen Satz von Abtastungen der originalen Gesamtheit rekonstruiert werden. Siehe beispielsweise in „Temporal light field reconstruction for rendering distribution effects" (Lehtinen et al., ACM Trans. Graph., 30(4), 2011) und „Reconstructing the indirect light field for global illumination." (Lehtinen et al., ACM Trans. Graph., 31(4), 2012).
  • Anstelle einer Abtastung für eine Rekonstruktion kann ein effizientes Schema direkt die Pfadraumabtastungen filtern. Der determinierte Algorithmus kann einen kleinen Satz von Parametern aufweisen, kann konsistent sein, um persistenten Artefakte und eine Parameteranpassung zu vermeiden, kann einfach zu implementieren sein, und er kann die Vorteile der anderen Anstrengungen vereinigen. Ein erster Eindruck der resultierenden Performance-Verbesserungen kann 3 entnommen werden, welche einen Vergleich 300 der Resultate der Pfadverfolgung 302 und der Pfadverfolgung mit einer Pfad-Raum-Filterung 304 darstellt.
  • Algorithmus
  • In einem Ausführungsbeispiel kann eine Sequenz mit geringer Abweichung durchnummeriert werden, um kontinuierliche Blöcke von bm ∈ ℕ Lichtübertragungspfaden abzutasten. Die gesamte Anzahl der Lichtübertragungspfade kann durch den Integerwert n gezählt werden. Siehe beispielsweise in „Deterministic consistent density estimation for light transport simulation" (Keller et al., Monte Carlo und Quasi-Monte Carlo Methods 2012, Seiten 467-480, Springer, 2013).
  • Für den i-ten Lichtübertragungsfehlern kann für mindestens einen Vertex xi die Dämpfung αi entlang eines Augenpfadsegmentes zu dem Vertex und der Strahlungsbeitrag ci zu dem Vertex gespeichert werden. In einem anderen Ausführungsbeispiel kann mindestens eines von einem ersten Index, wie er von einer Kamera gesehen wird, oder ein erster Vertex entlang des Pfades von der Kamera, der als genügend diffus angesehen wird, als Tuple (xi, αi, ci) gespeichert werden. In wiederum einem anderen Ausführungsbeispiel können mindestens einer oder keiner oder alle Vertices als Tuples gespeichert werden.
  • Das Bild kann durch eine Akkumulation von ∝i-c̅i gebildet werden. Tabelle 3 stellt die gewichteten durchschnittlichen Beiträge ci entsprechend einem Ausführungsbeispiel dar. Es sei natürlich darauf hingewiesen, dass die in Tabelle 3 genutzte Darstellung von ci nur für illustrative Zwecke eingesetzt wird und deshalb als in keiner Weise limitierend angesehen werden sollte. Tabelle 3
    c ¯ i : = j = 0 b m 1 X B ( n ) ( x i b m b m + j x i ) w i , j c i b m b m + j j = 0 b m 1 X B ( n ) ( x i b m b m + j x i ) w i , j
    Figure DE102014105146B4_0003
  • Tabelle 4 stellt die Definition von ci entsprechend einem Ausführungsbeispiel dar. Es sei natürlich darauf hingewiesen, dass die in Tabelle 4 genutzte Darstellung von ci nur für illustrative Zwecke eingesetzt wird und deshalb als in keiner Weise limitierend angesehen werden sollte. Tabelle 4
    ci ist definiert als das Verhältnis der Summe der gewichteten Beiträge w i , j     c i b m b m + j
    Figure DE102014105146B4_0004
    und der Summe der Gewichtsfaktoren wi,j aller Vertizes x i b m b m + j
    Figure DE102014105146B4_0005
    in einer Kugel B mit dem Radius r(n) um xi (wie ausgewählt durch die charakteristische Funktion χB(n)).
  • Tabelle 5 stellt Eigenschaften des Radius r(n) entsprechend einem Ausführungsbeispiel dar, der in der Pfad-Raum-Filterung genutzt wird, Es sei darauf hingewiesen, dass die Eigenschaften des Radius r(n), wie in Tabelle 5 dargestellt, nur für illustrative Zwecke eingesetzt wird und deshalb als in keiner Weise limitierend angesehen werden sollte. Tabelle 5
    r 2 ( n )   : =  r 2 0 /n α  für  α ( 0,1 )
    Figure DE102014105146B4_0006
  • In einem Ausführungsbeispiel kann der Parameter ro einen anfänglichen Radius bedeuten. In einem anderen Ausführungsbeispielen kann der Radius beliebig langsam abnehmen und deshalb kann α = 1/2 eine robuste Arbeitshypothese sein. Wenn man von Null verschiedene Gewichtsfaktoren postuliert, kann jeder verschwindende Radius
    limn→∞i =ci garantieren und somit Konsistenz, weil die charakteristische Funktion XB(n) um xi zentriert ist, weshalb immer mindestens der i-te Pfad ausgewählt wird.
  • In einem Ausführungsbeispiel kann der Berechnungsschritt für die gewichteten durchschnittlichen Beiträge c̅i, , wie in Tab. 3 dargestellt, eine bestimmte Anzahl von Malen wiederholt werden, was in einer weichen Anpassung der Beiträge resultieren kann. Beispielsweise kann in einem ersten Iterationsschritt c̅i, anstelle von ci in der Berechnung des gewichteten gemittelten Beitrages verwendet werden, wie in Tab. 3 dargestellt, um einen iterierten Beitrag c̅i zu berechnen. Solch ein iterativer Schritt kann eine ausgewählte Anzahl von Malen wiederholt werden.
  • Die Vertices können effizient durch eine Bereichssuche abgefragt werden unter Nutzung eines Hash-Grid, einer klassischen Bereichssuche, welche einen kd-Baum, welcher über die gespeicherten Vertices xi gebildet wird, nutzt, eine gebundene Volumenhierarchie oder ein Teile-und-Herrsche-Verfahren, welches gleichzeitig alle Vertices berücksichtigen kann. Es sei darauf hingewiesen, dass der Satz von Abfragen und Datenpunkten gleich sein kann, was die Datenlokalität erhöhen kann und die Implementierung vereinfachen kann. Siehe beispielsweise in „Optimized spatial hashing for collision detection of deformable objects" (Teschner et al., In Proceedings of VMV'03, Munich, Germany, Seiten 47-54, 2003), und „A Divide-and-Conquer Algorithm for Simultaneous Photon Map Queries“ (Keller et al., Poster at High-Performance Graphics in Vancouver, 2011).
  • Zusätzlich können Unterschiede zwischen Verfahren für eine verteilte Daten-Interpolation und eine gewichtete gleichmäßige Abtastung (sampling) bestehen. Beispielsweise kann eine Interpolationsbedingung c1 = ci eine Durchschnittsbildung direkt von Anfang an verhindern. In einem anderen Beispiel, bm < < ∞, weil bm proportional zu einer Speichergröße sein kann. Siehe beispielsweise in „A two-dimensional interpolation function for irregularly-spaced data“ (D. Shepard, In Proceedings of the 1968 23rd ACM National Conference, Seiten 517-524. ACM, 1968), und „A hybrid approach to interactive global illumination and soft shadows“ (Knauer et al., The Visual Computer: International Journal of Computer Graphics, 26(6-8):565-574, 2010). Siehe auch in „Weighted uniform sampling - a Monte Carlo technique for reducing variance" (Powell et al., IMA J. Appl. Math., 2(3):228-236, 1966), und „Quasi-random methods for estimating integrals using relatively small samples" (Spanier et al., SIAM Review, 36(1):18-44, March 1994).
  • Parameter
  • Die prinzipiellen zwei Parameter zum Steuern einer Implementierung des progressiven Algorithmus sind der Umfang der Speichergröße (memory footprint) und der ursprüngliche Radius ro. In einem Ausführungsbeispiel kann der Speicherblock, indem alle Vertices eines Durchgangs gespeichert werden, so groß wie möglich gewählt werden, um so viele Vertices wie möglich einzubeziehen, und somit so viele Beiträge wie möglich in dem Mittelwertprozess wie möglich. Die Verbesserungen mit größeren Speichergrößen bei der gleichen Anzahl von Pfadraumabtastungen (path room sampling) weisen eine Varianzverringerung und ein Anti-Aliasing von geometrischen Details auf. Weil der Speicherverbrauch proportional zur Blockgröße bm sein kann, kann es sehr einfach sein, die maximale natürliche Zahl m bei gegebener Größe der Vertices und der maximalen Größe des Speicherblocks zu bestimmen.
  • Der ursprüngliche Radius ro kann von der Abfragelokation xi abhängen. Beispielsweise kann er von der Definition des festen Winkels Δw : = πr2 0 / d2 einer Scheibe mit dem Radius ro in xi senkrecht zu einem Strahl in einem Abstand d von dem Strahlursprung abgeleitet werden. Tabelle 6 stellt einen Anfangsradius in der Pfad-Raum-Filterung entsprechend einem Ausführungsbeispiel dar. Es sei darauf hingewiesen, dass die Merkmale des Anfangsradius, der in Tabelle 6 dargestellt ist, nur für illustrative Zwecke genutzt wird, und deshalb in keiner Weise als limitierend angesehen werden sollte. Tabelle 6
    r 0 = d 2 Δ ω π d d 2 Δ ω π d
    Figure DE102014105146B4_0007

  • In einem Ausführungsbeispiel kann für einen festen Winkel Δω der ursprüngliche Radius ro proportional zum Abstand d sein. Der Proportionalitätsfaktor kann durch den Nutzer ausgewählt werden oder kann unter Nutzung eines gegebenen festen Winkels bestimmt werden. Beispielsweise kann Δω durch den festen Winkel bestimmt sein, der durch den Bereich von 3x3 Pixeln auf dem Bildschirm hinsichtlich des Fokuspunktes bestimmt ist.
  • Es sei darauf hingewiesen, dass ein anisotropischer „Footprint“ aus mehreren Gründen unpraktisch sein kann. Die Notwendigkeit durch den Kosinus zwischen der Ebene, die normal zu xi ist, und der Strahlenrichtung numerische Probleme für Vektoren bedeuten kann, die nahezu vertikal sind. Darüber hinaus kann die Effizienz der Bereichsauswahl verkleinert werden, weil jetzt das Abfragevolumen einen beliebig großen Umfang hat. Schließlich kann es zu möglichen Durchschnittsbildung von Beiträgen von Vertices führen, die räumlich weit voneinander entfernt sind, obwohl die räumliche Umgebung des Vertex xi klein sein kann, wie zum Beispiel bei Blättern oder Haaren.
  • Weil weniger und weniger Beiträge mit kleiner werdendem Radius gemittelt werden, gibt es einen Zeitpunkt, an dem es keine Mittelwertbildung mehr gibt, weil nur der zentrale Vertex xi in die Abfrage einbezogen ist. Gleichzeitig kann dies zur Einsicht führen, dass ein Vergleich der maximalen Anzahl der durchschnittlichen Beiträge mit einem Schwellwert genutzt werden kann, um den Algorithmus automatisch zu beenden. Andererseits ist es ein Hinweis darauf, dass der Anfangsradius groß genug gewählt werden muss, um eine sinnvolle Anzahl von Beiträgen in den gewichteten Durchschnitten einzubeziehen.
  • Der Anfangsradius kann deshalb auch durch eine gegebene maximale Anzahl von Beiträgen, die in dem Durchschnitt enthalten sind, bestimmt werden. 4 stellt eine schematische Darstellung 400 der Unterschiede der Prinzipien zwischen einer Strahleninterpolation 402 und einer Pfad-Raum-Filterung 404 dar. Anstelle einer Interpretation von zwischengespeicherten Aufnahmen die durch eine Strahlschlichtung angeglichen werden, um die Strahlung an dem Punkt zu bestimmen, der von dem Auge durch den hervorgehobenen Strahl gesehen wird, mittelt die Pfad-Raum-Filterung 404 die Beiträge der Pfade in der Umgebung.
  • Gewichtsfaktoren
  • Eine Nutzung von nur gleichförmigen Gewichtsfaktoren wi,j ≡ 1 kann zu einer sichtbaren Unschärfe führen, weil Beiträge in dem Durchschnitt enthalten sein können, die tatsächlich niemals in xi gesammelt (gathered) worden. Weil eine Pfad-Raum-Filterung eine Strahlaufteilung imitieren kann, sollten Beiträge c i b m b m + j ,
    Figure DE102014105146B4_0008
    welche durch eine Strahlaufteilung (bzw. Strahlsplittung) in xi erzeugt wurden, höhere Gewichtsfaktoren erhalten, als solche, für die das nicht zutrifft. Solche nicht-gleichförmigen Gewichtsfaktoren wi,j können als Produktgewichte konstruiert werden, welche aus der Heuristik gebildet sind, die für den Diskontinuitätspuffer, Photonen-Mapping, Strahleninterpolation und Lichtfeldrekonstruktionen genutzt wird. Siehe hierzu „Realistic Image Synthesis Using Photon Mapping.“ (H. Jensen, AK Peters, 2001).
  • Unschärfe über die Geometrie
  • Das Skalarprodukt n i b m b m + j     n i [ 1,1 ]
    Figure DE102014105146B4_0009
    bestimmt die Ähnlichkeit der Normalen n i b m b m + j   in   x i b m b m + j
    Figure DE102014105146B4_0010
    und ni in xi. Während Beiträge mit negativem Skalaprodukt ausgeschlossen werden können, um einen Lichtverlust durch die Rückseite einer opaken Oberfläche zu vermeiden, kann ein positiver Schwellwert (z.B., 0,95 in einer Implementierung) genutzt werden, um mehrere Beiträge von dem Durchschnitt auszuschließen, was dabei helfen kann, Qualitätsprobleme zu verkleinern, die im Zusammenhang mit geometrischen oder approximierten Oberflächennormalen auftreten.
  • Unschärfe über Texturen
  • Die Bilder können klar sein, wenn alle Beiträge, die in dem Durchschnitt des BSDF in xi evaluiert werden würden (z.B., ähnlich einem Diskontinuitätspuffer). In Situationen, in denen diese Evaluation zu aufwendig oder einfach nicht durchführbar ist, kann der Algorithmus sich auf Daten stützen, die während einer ursprünglichen Schattierungsevaluierung gespeichert wurden. Shader können einen Farbwert zurückgeben, welcher der BSDF multipliziert mit einem Verhältnis des Kosinus zwischen der Oberflächennormalen und der Richtung des Einfalls und einer Wahrscheinlichkeitsdichtefunktion (probability density function, pdf), welche für die Richtungen der Übertragung betrachtet worden ist. Für das Beispiel von Kosinus-verteilten Abtastungen auf diffusen Oberflächen bleibt nur der diffuse Rückstrahl, weil alle anderen Terme ausgelöscht werden. Solange eine Norm der Differenzen von diesen Termen x i b m b m + j
    Figure DE102014105146B4_0011
    und xi über einem Schwellenwert liegt (z.B., 0,05 in einer Implementierung), dann kann der Beitrag von x i b m b m + j
    Figure DE102014105146B4_0012
    in dem Durchschnittswert eingefügt werden. Für ähnliche Reflexionsrichtungen kann dies die Unschärfe über Texturdetails und falsche Einstrahlung auf glänzende Materialien reduzieren. Obwohl ähnliche Beobachtungrichtungen implizit für Abfragelokation, wie direkt von dem Auge gesehen, implizit sein können, kann diese Ähnlichkeit für allgemeine Pfade und glänzende Oberflächen explizit durch einen Vergleich von Beobachtungsrichtungen, was zusätzlichen Speicher zum Speichern solcher Vektoren benötigt, betrachtet werden.
  • Unscharfe Schatten
  • Wenn eine Punktlichtquelle gegeben ist, kann ihre Sichtbarkeit von xi und x i b m b m + j
    Figure DE102014105146B4_0013
    entweder identisch oder unterschiedlich sein. Um zu verhindern, dass scharfe Schattengrenzen unscharf werden, können Beiträge nur für eine identische Sichtbarkeit herangezogen werden. Für eine Umgebungsabdeckung und Beleuchtung durch eine Umgebungskarte können unscharfe Schatten durch einen Vergleich der Längen von jeder Strahlenlänge in die Hemisphäre bei xi und x i b m b m + j
    Figure DE102014105146B4_0014
    gegenüber einem Schwellenwert reduziert werden.
  • Eine Nutzung von Normen, um die Beiträge direkt zu gewichten, kann zu einer höheren Streuung führen. In ähnlicher Weise führt eine Nutzung von Kernel (z.B., Kernel, die in der Domäne von Smoothed Particle Hydrodynamics (SPH) genutzt werden), welche anders sind als die charakteristische Funktion XB(n), um Beiträge durch ihren Abstand zu der Abfragelokation xi zu gewichten, zu einer höheren Streuung. Siehe beispielsweise in „Density Estimation for Statistics and Data Analysis" (B. Silverman, Chapman & Hall/CRC, 1986). Dies kann durch die Tatsache erklärt werden, dass unter der Annahme einer perfekten Wichtigkeitsabtastung, jedes Pfadsegment, welches durch eine Strahlenteilung erzeugt wurde, mit dem gleichen Gewichtsfaktor einbezogen wurde. Weil die Pfad-Raum-Filterung eine Strahlenteilung simuliert, können andere als binäre Gewichtsfaktoren die Streuung erhöhen. Wenn man nur (binäre) Gewichtsfaktoren nutzt, die entweder Null oder eins sind, kann der Nenner des Bruches von Tabelle 1 den Wert der Anzahl der einbezogenen Beiträge annehmen.
  • Anwendungen
  • Auf diese Weise können Verbesserungen durch eine direkte Anwendung des Algorithmus auf Pfadraumabtastungen eines Pfad-Tracers mit einer Next-Event-Estimation und impliziten multiplen Wichtigkeitsabtastungen erreicht werden. Siehe beispielsweise in „Mathematical Models and Monte Carlo Algorithms for Physically Based Rendering" (E. Lafortune, PhD thesis, Katholieke Universitiet Leuven, Belgium, 1996). Die Beleuchtung kann aus einer Umgebungskarte und Lichtquellen bestehen. Der erste Treffpunkt, gesehen von der Kamera, kann als der Vertex xi gespeichert werden. Im Gegensatz zu Strahlen-Interpolations-Verfahren kann eine Pfad-Raum-Filterung durchschnittliche Beiträge über Diskontinuitäten von detaillierten Geometrien effektiv ausmitteln. Auch in solchen schwierigen Umgebungen können die Verbesserungen substantiell sein.
  • Es sei darauf hingewiesen, dass, weil der Algorithmus linear ist, er für jede Aufteilung des Pfadraumes inklusive jeder Variation von multipler Wichtigkeitsabtastung funktionieren kann. Darüber hinaus kann der Algorithmus auf Vertices angewendet werden, welche durch mehrere Sichten erzeugt wurden. Somit können Rendering der Feldtiefe, Stereo-Paare von Bildern oder multiple Ansichten eine Szene nachhaltig von dem neuen Algorithmus profitieren, und Vertices können von allen Frames einer Animation einer statischen Szene genutzt werden. Tatsächlich kann die Art des gewichteten durchschnittlichen Beitrags ci von Tabelle 1 erlauben, Durchschnitte von Vertices von jeder beliebigen Art von Pfadraumabtastungen, zu bilden.
  • Die Pfad-Raum-Filterung kann die Notwendigkeit für eine intensive Strahlaufteilung in praktisch allen normalen Anwendungsfällen im Rendering überflüssig machen: Anstelle einer Aufteilung von Pfaden, die in Strahlbäume münden, können Beiträge über Basisfunktionen eines BSDF-Modells, repräsentiert durch eine lineare Kombination von Basisfunktionen, gefiltert werden. Siehe beispielsweise in „Distributed Ray Tracing" (Cook et al., In Computer Graphics (Proc. SIGGRAPH 1984), Seiten 137-145, 1984. Lokale Durchschnittswerte in xi wie beispielsweise Umgebungsüberdeckungen, Schatten von erweiterten und/oder vielen Lichtquellen, finale Zusammenführung, Smoothing Photon Maps oder effektive Lösungen, Ray Marching oder Effekte wie Depth of Field Simulationen können direkt aus der Pfadraumabtastung bestimmt werden. Dies kann mit der Beobachtung übereinstimmen, dass eine effektive Strahlungsaufteilung mit zunehmenden Abtastraten abnimmt.
  • Darüber hinaus kann eine Pfad-Raum-Filterung Verfahren mit so genannten Fire-Flies verbessern, weil der Beitrag der Fire-Flies durch die Anzahl der Beiträge, die in dem Mittelwert enthalten sind, gedämpft wird. Sichtbare Durchgangsartefakte können mehr wie Flecken anstelle von einzelnen hellen Pixeln aussehen.
  • Animationen
  • Ein gewöhnlicher Artefakt in Animationen, welche mit Interpolationsverfahren gerendert wurden, kann wegen beispielsweise temporär inkohärenten gespeicherten Abtastungen, ähnlichen gespeicherten Abtastungen oder temporären Änderungen in der Sichtbarkeit flimmern. In solchen Situationen kann es sein, dass Parameter angepasst werden müssen, was eine wiederholte Berechnung von Beginn an erfordern kann. Weil die Pfad-Raum-Filterung konsistent ist, können sichtbare Artefakte vorübergehend sein. Darüber hinaus kann der Algorithmus deterministisch und linear sein. Deshalb kann es ausreichen, die Anzahl des letzten Blockes oder die Abtastung für die Verarbeitung jedes Frames zu speichern, um selektiv irgendeinen Frame durch eine nur kontinuierliche Berechnung neu zu bestimmen.
  • Bewegungsunschärfe
  • Die konsistente Simulation von Bewegungsunschärfe kann durch eine Mittelwertbildung von Bildern an bestimmten Zeitpunkten realisiert werden. Siehe beispielsweise in U.S. Anmeldung Nr. 13/666,888 , angemeldet am 1. November 2012, welche hierin in ihrer Gesamtheit durch Referenz einbezogen sein soll. Als Alternative kann die Erweiterung der Bereichssuche, um die zeitliche Umgebung einzubeziehen, eine Mittelwertbildung über die Vertices zu unterschiedlichen Zeitpunkten erlauben. In den Fällen, in denen eine lineare Bewegung eine genügend genaue Näherung ist und ein Speichern von linearen Bewegungsvektoren verkraftbar ist, kann eine Rekonstruktion der Sichtbarkeit die Konvergenzgeschwindigkeit verbessern.
  • Spektral-Rendering
  • Die konsistente Simulation von Spektrallichtübertragung kann durch eine Mittelwertbildung von monochromatischen Beiträgen ci mit einer zugeordneten Wellenlänge λi ermöglicht werden. Die Projektion auf ein brauchbares Farbsystem kann während des Mittelwertbildungsprozesses erfolgen, wobei die brauchbaren Basisfunktionen als Faktoren zu den Gewichtsfaktoren multipliziert werden. Ein Beispiel so eines Satzes von Basisfunktionen sind die XYZ-Farbsystem-AntwortKurven (xyz color system response curves). Ein Beispiel für eine kontinuierliche Annäherung solcher Antwortkurven wird beispielsweise gegeben in„Simple Analytic Approximations to the CIE XYZ Color Matching Functions“ (Chris Wyman, Peter-Pike Sloan, und Peter Shirley, Journal of Computer Graphics Techniques (JCGT), vol. 2, no. 2, 1-11, 2013. Dies ist online verfügbar unter http://jcgt.org/published/0002/02/01/, was hierin in seiner Gesamtheit durch Referenz einbezogen sein soll.
  • Teilnehmende Medien und Durchsichtigkeit
  • Die Effizienz der konsistenten Simulation bei teilnehmenden Medien und Durchsichtigkeit kann durch eine Nutzung von Pfad-Raum-Filterung verbessert werden. Weil die Pfad-Raum-Filterung ein linearer Algorithmus sein kann, kann er angewendet werden, um Beiträge von jeder Art von Lichtübertragungspfade zu kombinieren, was Lichtübertragungspfade mit Vertices in teilnehmenden Medien und durchsichtigen Materialien einbeziehen kann.
  • Entkoppelung des Abtasten (Sampling) vom Shading_
  • Eine Entkoppelung des Abtastens vom Shading kann in direkter Weise durch ein Abtasten von mehr Augenpfadsegmenten (eye path segments) mit Abfragelokationen xi und Dämpfungen αi erreicht werden, ohne allerdings die Beiträge ci, was ein verbessertes Anti-Aliasing bei gleichen Shading-Raten erlaubt. Weil bei solchen Pfadsegmenten nicht garantiert werden kann, dass ein Beitrag vorliegt, brauchen sie nicht in dem Akkumulationsprozess im Falle von leeren Abtastungen berücksichtigt werden. Siehe beispielsweise in „Adaptive filtering for progressive Monte Carlo image rendering“ (Suykens et al., I In WSCG 2000 Conference Proceedings, 2000), was hierin in seiner Gesamtheit durch Referenz einbezogen sein soll.
  • 5 stellt einen Vergleich zwischen einer Pfadraumfilterung 502 und Photonen-Mapping 504 dar. Optional kann der Vergleich im Kontext der Funktionalität der 1-4 durchgeführt werden. Natürlich kann der Vergleich 500 in jeder anderen gewünschten Umgebung durchgeführt werden. Es sei außerdem darauf hingewiesen, dass die vorangehend genannten Definitionen für die gesamte vorliegende Beschreibung gelten mögen.
  • In einem Ausführungsbeispiel kann die Pfad-Raum-Filterung 502 als eine Technik zur Varianzreduktion gegenüber dem Photon-Mapping betrachtet werden. Bei der Pfad-Raum-Filterung 502 kann der Beitrag zu einem Vertex durch ein Teilen der Summe der Beiträge von existierenden Pfadsegmenten mit Vertices in der Nähe durch ihre Anzahl berechnet werden. Photon-Mapping 504 kann das Verhältnis des Flux des einfallenden Pfadsegmentes (Photonentreffer) und dem Scheibenbereich bestimmen.
  • Die Pfad-Raum-Filterung 502 kann in dem Sinne orthogonal sein, dass es zusätzlich zu irgendeinem (Pfadraum-) Rendering-Algorithmus, welcher auf Abtastungen basiert, genutzt werden kann. Es kann die Notwendigkeit für eine Strahlaufteilung überflüssig machen, was eine Pfadverfolgung basierend auf dem Fire-and-Forget-Paradigma ermöglicht, die für eine effiziente parallele Lichtübertragungssimulation erforderlich sein kann. Der progressive Algorithmus kann einfach zu implementieren sein, effizient sein, und es mag garantiert sein, dass er wegen seiner Konsistenz ohne persistente Artefakte konvergiert.
  • In einem Ausführungsbeispiel kann die Pfad-Raum-Filterung 502 in einer dramatischen Reduktion in der Varianz resultieren, wenn sie auf eine allgemeine Pfadverfolgung angewendet wird. In einem anderen Ausführungsbeispiel kann eine Verarbeitung von mehr Pfadraumabtastungen pro Durchgang eine effizientere Varianzreduktion wie auch besseres Anti-Aliasing ermöglichen. In wiederum einem anderen Ausführungsbeispiel kann die Pfad-Raum-Filterung reflektierte Spitzen in einem gerenderten Bild glätten. Die Pfad-Raum-Filterung kann auch substantielle Beträge von Rauschen - über komplexe Geometrien - entfernen.
  • Die Effizienz der Quasi-Monte-Carlo-Integro-Näherung für eine Lichtübertragungsimulation kann durch lokal gefilterte Pfadraumabtastungen vor deren Mittelwertbildung verbessert werden. Dieser Filter kann derart konstruiert werden, dass als Grenzwert das ursprüngliche Integro-Näherung-Problem gelöst werden kann.
  • 6 stellt ein exemplarisches System 600 dar, in welchem die verschiedenen Architekturen und/oder Funktionen der verschiedenen vorangegangenen Ausführungsbeispiele implementiert sein können. Wie dargestellt, wird ein System 600 vorgestellt, inklusive mindestens eines Host-Prozessors 601, welcher mit einem Kommunikationsbus 602 verbunden ist. Das System weist außerdem einen Hauptspeicher 604 auf. Steuerungslogik (Software) und Daten sind in dem Hauptspeicher 604 gespeichert, welche die Form eines RAM (random access memeory) annehmen kann.
  • Das System 600 weist außerdem einen Grafik-Prozessor 606 und eine Anzeigeeinheit 608, d.h., einen Computermonitor, auf. In einem Ausführungsbeispiel kann der Prozessor 606 eine Mehrzahl von Shader-Modulen, ein Raster-Modul, usw. aufweisen. Jedes der vorangehend genannten Module kann sich sogar auf einer einzigen Halbleiterplattform befinden, um die Grafik-Verarbeitungseinheit (GPU) zu bilden.
  • In der vorliegenden Beschreibung kann sich eine einzige Halbleiterplattform auf einen einzigen, einheitlichen, Halbleiter-basierten integrierten Schaltkreis oder Chip beziehen. Es sei darauf hingewiesen, dass der Begriff „einzige Halbleiter-Plattform“ auch auf Multi-Chip-Module mit erhöhter Verbindungsfähigkeit (connectivity) hinweisen kann, welche On-Chip-Operationen simuliert und substantielle Verbesserung gegenüber einer Nutzung einer herkömmlichen Zentralverarbeitungseinheit (CPU) und Implementierung ermöglichen. Natürlich können die unterschiedlichen Module auch separat oder in verschiedenen Kombinationen auf Halbleiterplattformen entsprechend den Wünschen eines Nutzers angeordnet sein. Das System kann auch durch eine rekonfigurierbare Logik realisiert sein, was auch (was aber nicht darauf beschränkt ist) FPGAs (field programmable gate arrays) umfassen mag.
  • Das System 600 kann auch einen sekundären Speicher 610 aufweisen. Der sekundäre Speicher 610 weist beispielsweise eine Festplatte und/oder ein Speicherlaufwerk für austauschbare Medien auf, was beispielsweise durch ein Floppy-Disk-Drive, ein Magnetbandlaufwerk, ein Compact-Disk-Laufwerk usw. repräsentiert sein kann. Das Speicherlaufwerk für austauschbare Medien liest vom und/oder beschreibt in bekannter Art und Weise eine austauschbare Speichereinheit.
  • Computerprogramme oder Computer-Steuerungslogik-Algorithmen können in dem Hauptspeicher 604 und/oder dem sekundären Speicher 610 gespeichert sein. Solche Computerprogramme ermöglichen es dem System 600, wenn sie ausgeführt werden, verschiedene Funktionen auszuführen. Der Speicher 604, Speicher 610, flüchtige oder nicht-flüchtige Speicher und/oder jeder andere Art von Speicher sind mögliche Beispiele von nicht-durchleitenden (non-transient) Computer-lesbaren Medien.
  • In einem Ausführungsbeispiel kann die Architektur und oder Funktionalität der vorangegangenen beschriebenen Figuren implementiert sein im Kontext des Host-Prozessor 601, des Grafik-Prozessors 606 eines integrierten Schaltkreises (nicht dargestellt), welcher mindestens einen Teil der Fähigkeiten von entweder dem Host-Prozessor 601 oder dem Grafik-Prozessor 606 verfügt, einem Chipsatz (d.h., einer Gruppe von integrierten Schaltkreisen, welche entworfen sind als Einheit zusammenzuarbeiten und als Einheit verkauft zu werden, um zugeordnete Funktionen auszuführen, usw.) und/oder jeden anderen integrierten Schaltkreis für diesen Zweck.
  • Weiterhin kann die Architektur und/oder Funktionalität der verschiedenen vorher genannten Figuren im Kontext eines General Purpose Systems, eines Schaltkreis-Board- Systems, eine Spielekonsole-Systems für Unterhaltungszwecke, eines Anwendung-spezifischen Systems und/oder jedes anderen gewünschten Systems implementiert sein. Beispielsweise kann das System 600 die Form eines Desktop-Computers, eines Laptop-Computers oder jeder andere Art von Steuerung annehmen. Das System 600 kann außerdem die Form von verschiedenen anderen Vorrichtungen - inklusive aber nicht einschränkend - wie eines PDA (personal digital assitant), eines Mobiltelefons, eines Fernsehens usw. annehmen.
  • Darüber hinaus, obwohl nicht dargestellt, kann das System 600 mit einem Netzwerk [z.B. ein Telekommunikationsnetzwerk, ein Local Area Network (LAN), ein drahtloses Netzwerk, ein WAN (wide area network) wie dem Internet, ein Peer-to-Peer-Netzwerk, ein Kabelnetzwerk, usw.] für Kommunikationszwecke verbunden sein.

Claims (24)

  1. Verfahren, aufweisend: - Erfassen eines Satzes von Lichtübertragungspfaden einer Lichtübertragungssimulation, die einer Szene zugeordnet sind; - Auswählen einer Mehrzahl von Vertices, die dem erfassten Satz von Lichtübertragungspfaden zugeordnet sind, wobei jeder ausgewählte Vertex einen zugeordneten Durchsatz und Lichtbeitrag aufweist; - Bestimmen eines durchschnittlichen Lichtbeitrages c̅ von jedem der ausgewählten Mehrzahl von Vertices, wobei ein oder mehrere Gewichtsfaktoren wi,j verwendet werden, wobei der durchschnittliche Lichtbeitrag eines ausgewählten Vertex basierend auf den Lichtbeiträgen für Vertices in der Nähe des ausgewählten Vertex berechnet wird; und - Kombinieren des durchschnittlichen Lichtbeitrags c̅i, von jedem Vertex in der ausgewählten Mehrzahl von Vertices, mit dem Durchsatz αi, welcher dem Vertex zugeordnet ist, um ein Produkt αi • c̅i für den Vertex zu erzeugen, wobei der Durchsatz, welcher dem Vertex zugeordnet ist, eine akkumulierte Dämpfung von Licht umfasst, wenn es von diesem Vertex zu zumindest einem von einer Kamera oder einer Anzeige verläuft; und - Formen eines Bildes durch Akkumulieren des Produktes jedes ausgewählten Vertex in der Mehrzahl von Vertices; wobei das Bestimmen eines durchschnittlichen Lichtbeitrages von jedem der ausgewählten Mehrzahl von Vertices, wobei ein oder mehr Gewichtsfaktoren wi,j verwendet werden, iterativ ist, wobei in einem ersten Iterationsschritt c̅i, anstelle von ci in der Berechnung des gewichteten gemittelten Beitrages verwendet wird, um einen iterierten Beitrag c̅i, zu berechnen.
  2. Das Verfahren gemäß Anspruch 1, weiterhin aufweisend ein lokales Filtern des erfassten Satzes von Lichtübertragungspfaden.
  3. Das Verfahren gemäß Anspruch 2, wobei das Filtern vor dem Bestellen des durchschnittlichen Lichtbeitrages von jedem der ausgewählten Mehrzahl von Vertices ausgeführt wird.
  4. Das Verfahren gemäß Anspruch 2, wobei ein oder mehr einer zufälligen, pseudo-zufälligen oder quasi-zufälligen Erfassungen, die zu Filtern sind, vorgenommen wird.
  5. Das Verfahren gemäß Anspruch 2, wobei das lokale Filtern eine Effizienz einer numerischen Integro-Näherung verbessert.
  6. Das Verfahren gemäß Anspruch 2, wobei das Kombinieren des durchschnittlichen Lichtbeitrags von jeder der ausgewählten Mehrzahl von Vertices während einer Lichtübertragungssimulation ausgeführt wird, und wobei das lokale Filtern eine Effizienz der Lichtübertragungssimulation verbessert.
  7. Das Verfahren gemäß Anspruch 1, wobei der Satz der Lichtübertragungspfade erfasst wird mittels eines oder mehr von Generieren von Augenpfaden, Generieren von Lichtpfaden, und Verbinden eines oder mehr Augenpfade und Lichtpfade mittels eines oder mehr von Schattenstrahlen und Nähe.
  8. Das Verfahren gemäß Anspruch 1, wobei das Verfahren als ein progressives Verfahren implementiert ist.
  9. Das Verfahren gemäß Anspruch 1, weiterhin aufweisend Speichern, für den i-ten Lichtübertragungspfad innerhalb des erfassten Satzes von Lichtübertragungspfaden, von mindestens einem Vertex xi, einer Dämpfung αi entlang eines Augenpfadsegmentes zu dem Vertex xi und eines Strahlenbeitrag ci des Lichtpfadsegmentes zu dem Vertex xi.
  10. Verfahren gemäß Anspruch 9, weiterhin aufweisend ein Bilden eines Bildes durch eine Akkumulation von ∝i•c̅i, wobei c ¯ i : = j = 0 b m 1 X B ( n ) ( x i b m b m + j x i ) w i , j     c i b m b m + j j = 0 b m 1 X B ( n ) ( x i b m b m + j x i ) w i , j
    Figure DE102014105146B4_0015
  11. Das Verfahren gemäß Anspruch 10, wobei r2(n) := r20/na für α ∈∈ (0,1).
  12. Das Verfahren gemäß Anspruch 1, wobei die Mehrzahl von Vertices unter Nutzung einer Bereichssuche ausgewählt wird.
  13. Das Verfahren gemäß Anspruch 12, wobei die Bereichssuche ausgeführt wird von zumindest einem von: einem Hash-Grid, einer klassischen Bereichssuche, und einem Teile-und-Herrsche-Verfahrens.
  14. Das Verfahren gemäß Anspruch 10, wobei der Radius r(n) ausgewählt ist von mindestens einem von einer Distanz entlang eines Pfades oder einem festen Winkel.
  15. Das Verfahren gemäß Anspruch 14, wobei jeder der einen oder mehr Gewichtsfaktoren wi,j eine Ähnlichkeit misst zwischen einem oder mehr der ausgewählten Mehrzahl von Vertices, wobei solche Ähnlichkeit von einem oder mehr von einer geometrischen Ähnlichkeit, einer Übertragungsähnlichkeit und einer Wahrnehmungsähnlichkeit zwischen einem oder mehr der ausgewählten Mehrzahl von Vertices abhängt.
  16. Das Verfahren gemäß Anspruch 1, wobei das Verfahren angewendet wird über mehrere Ansichten für eines oder mehr von Rendern von Stereo-Bild-Paaren, Rendern mehrerer Frames in einer Animation und Rendern eines Satzes von Bildern, die für einen oder mehr Lichtfeldanzeigen erforderlich sind.
  17. Das Verfahren gemäß Anspruch 1, weiterhin aufweisend - Simulieren von Bewegungsunschärfe durch Mittelwertbildung von einem oder mehreren Bildern zu einem oder mehr unterschiedlichen Zeitpunkten.
  18. Das Verfahren gemäß Anspruch 1, wobei das Erfassen des Satzes der Lichtübertragungspfade von einen oder mehr Schattierungs-Operationen entkoppelt ist.
  19. Das Verfahren gemäß Anspruch 2, wobei das lokale Filtern der erfassten Lichtübertragungspfade linear ausgeführt wird und zusätzlich zu einer sampling-basierten Rendering-Engine angewendet wird.
  20. Das Verfahren gemäß Anspruch 1, wobei das Erfassen eines Satzes von Lichtübertragungspfaden durchgeführt wird mittels einem oder mehr von einer zufälligen, pseudo-zufälligen oder quasi-zufälligen Auswahl.
  21. Das Verfahren gemäß Anspruch 9, weiterhin aufweisend Durchschnittswertbildung des Strahlungsbeitrages ci, mit einer zugehörigen Wellenlänge λi, um eine Spektrallichtübertragung konsistent zu simulieren.
  22. Das Verfahren gemäß Anspruch 1, wobei die Lichtübertragungspfade Lichtübertragungspfade mit Vertices in einem oder mehr von beteiligten Medien und lichtdurchlässigen Material beinhalten.
  23. Ein nicht-transitorisches computer-lesbares Speichermedium mit gespeicherten Instruktionen, die, wenn diese durch einen Prozessor ausgeführt werden, den Prozessor veranlassen Schritte auszuführen, umfassend: - Erfassen eines Satzes von Lichtübertragungspfaden, die einer Szene zugeordnet sind; - Auswählen einer Mehrzahl von Vertices, die dem erfassten Satz von Lichtübertragungspfaden zugeordnet sind, wobei jeder ausgewählte Vertex einen zugeordneten Durchsatz und Lichtbeitrag aufweist; - Bestimmen eines durchschnittlichen Lichtbeitrages c̅ von jedem der ausgewählten Mehrzahl von Vertices, wobei ein oder mehr Gewichtsfaktoren wi,j verwendet werden, wobei der durchschnittliche Lichtbeitrag eines ausgewählten Vertex basierend auf den Lichtbeiträgen für Vertices in der Nähe des ausgewählten Vertex berechnet wird; und - Kombinieren des durchschnittlichen Lichtbeitrags c̅i von jedem Vertex in der ausgewählten Mehrzahl von Vertices, nachdem der durchschnittliche Lichtbeitrag von jedem der ausgewählten Vertices mit dem zugeordneten Durchsatz des Vertex multipliziert wurde, mit dem Durchsatz αi, welcher dem Vertex zugeordnet ist, um ein Produkt αi • c̅i für den Vertex zu erzeugen, wobei der Durchsatz, welcher dem Vertex zugeordnet ist, eine akkumulierte Dämpfung von Licht enthält, wenn es von diesem Vertex zu zumindest einem von einer Kamera oder einer Anzeige verläuft; und - Formen eines Bildes durch Akkumulieren des Produktes jedes ausgewählten Vertex in der Mehrzahl von Vertices; wobei das Bestimmen eines durchschnittlichen Lichtbeitrages von jedem der ausgewählten Mehrzahl von Vertices, wobei ein oder mehr Gewichtsfaktoren wi,j verwendet werden, iterativ ist, wobei in einem ersten Iterationsschritt c̅i, anstelle von ci in der Berechnung des gewichteten gemittelten Beitrages verwendet wird, um einen iterierten Beitrag c̅i, zu berechnen.
  24. Ein System, aufweisend einen Prozessor eingerichtet zum: - Erfassen eines Satzes von Lichtübertragungspfaden, die einer Szene zugeordnet sind; - Auswählen einer Mehrzahl von Vertices , die dem ausgewählten Satz von Lichtübertragungspfaden zugeordnet sind, wobei jeder ausgewählte Vertex einen zugeordneten Durchsatz und Lichtbeitrag aufweist; - Bestimmen eines durchschnittlichen Lichtbeitrages c̅ von jedem der ausgewählten Mehrzahl von Vertices, wobei ein oder mehr Gewichtsfaktoren wi,j verwendet werden, wobei der durchschnittliche Lichtbeitrag eines ausgewählten Vertex basierend auf den Lichtbeiträgen für Vertices in der Nähe des ausgewählten Vertex berechnet wird; und - Kombinieren des durchschnittlichen Lichtbeitrags c̅i, von jedem Vertex in der ausgewählten Mehrzahl von Vertices, nachdem der durchschnittliche Lichtbeitrag von jedem der ausgewählten Vertices mit dem zugeordneten Durchsatz des Vertex multipliziert wurde, mit dem Durchsatz αi welcher dem Vertex zugeordnet ist, um ein Produkt αi • c̅i für den Vertex zu erzeugen, wobei der Durchsatz, welcher dem Vertex zugeordnet ist, eine akkumulierte Dämpfung von Licht enthält, wenn es von diesem Vertex zu zumindest einem von einer Kamera oder einer Anzeige verläuft; und - Formen eines Bildes durch Akkumulieren des Produktes jedes ausgewählten Vertex in der Mehrzahl von Vertices; wobei das Bestimmen eines durchschnittlichen Lichtbeitrages von jedem der ausgewählten Mehrzahl von Vertices, wobei ein oder mehr Gewichtsfaktoren wi,j verwendet werden, iterativ ist, wobei in einem ersten Iterationsschritt c̅i, anstelle von ci in der Berechnung des gewichteten gemittelten Beitrages verwendet wird, um einen iterierten Beitrag c̅i, zu berechnen.
DE102014105146.7A 2013-04-22 2014-04-10 System, Verfahren und Computerprogrammprodukt zum Durchführen einer Pfad-Raum-Filterung Active DE102014105146B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361814734P 2013-04-22 2013-04-22
US61/814,734 2013-04-22
US14/166,794 US9953457B2 (en) 2013-04-22 2014-01-28 System, method, and computer program product for performing path space filtering
US14/166,794 2014-01-28

Publications (2)

Publication Number Publication Date
DE102014105146A1 DE102014105146A1 (de) 2014-10-23
DE102014105146B4 true DE102014105146B4 (de) 2021-11-04

Family

ID=51629052

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014105146.7A Active DE102014105146B4 (de) 2013-04-22 2014-04-10 System, Verfahren und Computerprogrammprodukt zum Durchführen einer Pfad-Raum-Filterung

Country Status (2)

Country Link
CN (1) CN104112034A (de)
DE (1) DE102014105146B4 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10324167B2 (en) * 2016-09-12 2019-06-18 The Boeing Company Systems and methods for adding functional grid elements to stochastic sparse tree grids for spatial filtering
US10497168B2 (en) * 2017-01-04 2019-12-03 Nvidia Corporation Cloud generation of content to be streamed to VR/AR platforms using a virtual view broadcaster
US10614613B2 (en) * 2017-07-28 2020-04-07 Nvidia Corporation Reducing noise during rendering by performing parallel path space filtering utilizing hashing
US10235601B1 (en) 2017-09-07 2019-03-19 7D Labs, Inc. Method for image analysis
US11334762B1 (en) 2017-09-07 2022-05-17 Aurora Operations, Inc. Method for image analysis
US11244493B2 (en) * 2018-07-26 2022-02-08 Nvidia Corporation Global illumination using shared lighting contributions for interactions in path tracing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120200570A1 (en) 2011-02-09 2012-08-09 Canon Kabushiki Kaisha Image processing apparatus and method therefor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2272547T3 (es) * 2000-06-19 2007-05-01 Mental Images Gmbh Generacion de valores de pixeles utilizando metodologias estrictamente deterministicas para generar puntos de muestra.
TWI303791B (en) * 2002-03-21 2008-12-01 Microsoft Corp Graphics image rendering with radiance self-transfer for low-frequency lighting environments
US8659597B2 (en) * 2010-09-27 2014-02-25 Intel Corporation Multi-view ray tracing using edge detection and shader reuse
CN102521870B (zh) * 2011-11-22 2014-04-16 浙江大学 一种微多边形光线跟踪的着色重用方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120200570A1 (en) 2011-02-09 2012-08-09 Canon Kabushiki Kaisha Image processing apparatus and method therefor

Non-Patent Citations (25)

* Cited by examiner, † Cited by third party
Title
„Density Estimation for Statistics and Data Analysis" (B. Silverman, Chapman & Hall/CRC, 1986)
„Deterministic consistent density estimation for light transport simulation" (Keller et al., Monte Carlo und Quasi-Monte Carlo Methods 2012, Seiten 467-480, Springer, 2013)
„Distributed Ray Tracing" (Cook et al., In Computer Graphics (Proc. SIGGRAPH 1984), Seiten 137-145, 1984
„Irradiance filtering for Monte Carlo ray tracing" (Kontkanen et al., Monte Carlo and Quasi-Monte Carlo Methods 2004, Seiten 259-272. Springer, 2004)
„Mathematical Models and Monte Carlo Algorithms for Physically Based Rendering" (E. Lafortune, PhD thesis, Katholieke Universitiet Leuven, Belgium, 1996)
„Optimized spatial hashing for collision detection of deformable objects" (Teschner et al., In Proceedings of VMV'03, Munich, Germany, Seiten 47-54, 2003)
„Practical Global Illumination with Irradiance Caching" (Krivanek et al., Synthesis lectures in computer graphics and animation. Morgan & Claypool, 2009
„Quasi-random methods for estimating integrals using relatively small samples" (Spanier et al., SIAM Review, 36(1):18-44, March 1994)
„Temporal light field reconstruction for rendering distribution effects" (Lehtinen et al., ACM Trans. Graph., 30(4), 2011) und „Reconstructing the indirect light field for global illumination." (Lehtinen et al., ACM Trans. Graph., 31(4), 2012)
„Weighted uniform sampling - a Monte Carlo technique for reducing variance" (Powell et al., IMA J. Appl. Math., 2(3):228-236, 1966)
A. Keller, PhD thesis, University of Kaiserslautern, Germany, 1998) und „Interactive Global Illumination using Fast Ray Tracing"
Chris Wyman, Peter-Pike Sloan, und Peter Shirley, Journal of Computer Graphics Techniques (JCGT), vol. 2, no. 2, 1-11, 2013
D. Shepard, In Proceedings of the 1968 23rd ACM National Conference, Seiten 517-524. ACM, 1968
Die Druckschrift Keller, Alexander, Leonhard Grünschloß, and Marc Droske. „Quasi-Monte Carlo progressive photon mapping." Monte Carlo and Quasi-Monte Carlo Methods 2010. Springer, Berlin, Heidelberg, 2012. 499-509
Gregory J., Francis M. Rubinstein, and Robert D. Clear. „A ray tracing solution for diffuse interreflection." Proceedings of the 15th annual conference on Computer graphics and interactive techniques. 1988
J. Krivanek, Ph.d. thesis, Universite de Rennes 1 and Czech Technical University in Prague, December 2005
KELLER, Alexander; GRÜNSCHLOß, Leonhard; DROSKE, Marc. Quasi-Monte Carlo progressive photon mapping. In: Monte Carlo and Quasi-Monte Carlo Methods 2010. Springer, Berlin, Heidelberg, 2012. S. 499-509.
Knauer et al., The Visual Computer: International Journal of Computer Graphics, 26(6-8):565-574, 2010
KNAUS, Claude; ZWICKER, Matthias. Progressive photon mapping: A probabilistic approach. ACM Transactions on Graphics (TOG), 2011, 30. Jg., Nr. 3, S. 1-13.
RAGAN-KELLEY, Jonathan, et al. Decoupled sampling for graphics pipelines. ACM Transactions on Graphics (TOG), 2011, 30. Jg., Nr. 3, S. 1-17.
SUNG, Kelvin; PEARCE, Andrew; WANG, Changyaw. Spatial-temporal antialiasing. IEEE Transactions on Visualization and Computer Graphics, 2002, 8. Jg., Nr. 2, S. 144-153.
Suykens et al., I In WSCG 2000 Conference Proceedings, 2000
Wald et al., In P. Debevec und S. Gibson, editors, Rendering Techniques 2002 (Proc. 13th Eurographics Workshop on Rendering), pages 15-24, 2002
Ward et al., In Computer Graphics, Seiten 85 - 90, 1988
WARD, Gregory J. ; RUBINSTEIN, Francis M. ; CLEAR, Robert D.: A ray tracing solution for diffuse interreflection. In: SIGGRAPH 88: 15th Annual Conference on Computer Graphics and Interactive Techniques, 1. - 5. August 1988, Atlanta, Georgia, Bd. 22, H. 4, S. 85-92. DOI: 10.1145/378456.378490.

Also Published As

Publication number Publication date
DE102014105146A1 (de) 2014-10-23
CN104112034A (zh) 2014-10-22

Similar Documents

Publication Publication Date Title
DE102014105146B4 (de) System, Verfahren und Computerprogrammprodukt zum Durchführen einer Pfad-Raum-Filterung
Xu et al. Adversarial Monte Carlo denoising with conditioned auxiliary feature modulation.
DE102019103059B4 (de) Hieb- und stichfester Strahl-Dreieck-Schnittpunkt
DE60033250T2 (de) System und Verfahren zur Darstellung mit Strahlverfolgung
US9953457B2 (en) System, method, and computer program product for performing path space filtering
DE102005035012B4 (de) Hochleistungsschattierung von großen volumetrischen Daten unter Verwendung von partiellen Schirmraumableitungen
DE102009042328B4 (de) Effiziente Bestimmung von Lichteffekten beim Volume Rendering
DE102017009910A1 (de) Bearbeiten von Digitalbildern unter Nutzung eines neuronalen Netzwerkes mit einer netzwerkinternen Erstellungsschicht
JP4732111B2 (ja) 複数のボクセルを含むボリュームデータセットをレンダリングする方法
DE102019118838A1 (de) Virtuelle photogrammetrie
Weiss et al. Differentiable direct volume rendering
DE102021115407A1 (de) Hardwarebeschleunigung zur strahlverfolgung von primitiven, die vertices teilen
US11887256B2 (en) Deferred neural rendering for view extrapolation
Vaidyanathan et al. Layered light field reconstruction for defocus blur
Hu et al. Ray tracing via GPU rasterization
Mehta et al. Factored axis-aligned filtering for rendering multiple distribution effects
DE102021130031A1 (de) Erscheinungsbildgesteuerte automatische dreidimensionale modellierung
Barringer et al. High-quality curve rendering using line sampled visibility
DE102023124813A1 (de) Modifizieren von zweidimensionalen bildern unter verwendung von iterativen dreidimensionalen netzen der zweidimensionalen bilder
Lochmann et al. Real-time novel-view synthesis for volume rendering using a piecewise-analytic representation
Dyken et al. Real‐Time GPU Silhouette Refinement using Adaptively Blended Bézier Patches
Ropinski et al. Efficient shadows for gpu-based volume raycasting
Lei et al. Approximate depth of field effects using few samples per pixel
Andersen et al. Hybrid fur rendering: combining volumetric fur with explicit hair strands
DE102023124805A1 (de) Modifizieren von zweidimensionalen bildern unter verwendung von segmentierten dreidimensionalen objektnetzen der zweidimensionalen bilder

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: DILG HAEUSLER SCHINDELMANN PATENTANWALTSGESELL, DE

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

R082 Change of representative

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final