DE102018125589A1 - Lichtfelder als bessere Hintergründe beim Rendern - Google Patents

Lichtfelder als bessere Hintergründe beim Rendern Download PDF

Info

Publication number
DE102018125589A1
DE102018125589A1 DE102018125589.6A DE102018125589A DE102018125589A1 DE 102018125589 A1 DE102018125589 A1 DE 102018125589A1 DE 102018125589 A DE102018125589 A DE 102018125589A DE 102018125589 A1 DE102018125589 A1 DE 102018125589A1
Authority
DE
Germany
Prior art keywords
background
scene
light field
rays
foreground
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.)
Pending
Application number
DE102018125589.6A
Other languages
English (en)
Inventor
Daniel Seibert
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 US16/051,033 external-priority patent/US10776995B2/en
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE102018125589A1 publication Critical patent/DE102018125589A1/de
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map

Landscapes

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

Abstract

Das vorgestellte Verfahren und das vorgestellte System verwenden ein 4-dimensionales (4D) Lichtfeld als Hintergrund einer Szene anstelle eines 2D-Hintergrundbildes. Die Realisierung der Berechnung eines Lichtfeldes erfordert enorme Mengen an Rechenleistung, Datenspeicherung und Zeit (auch mit der gegenwärtig verfügbaren Hardware); das vorgestellte Verfahren und das vorgestellte System berechnen und speichern das Lichtfeld, bevor eine Szene gerendert wird. Um die Zeit zum Speichern und Zugreifen auf das Lichtfeld während des Rendervorgangs zu verkürzen, verwenden das vorgestellte Verfahren und das vorgestellte System außerdem einen modifizierten Video-Codec, um das Lichtfeld als 2D-Bilder zu komprimieren und zu dekomprimieren.

Description

  • TECHNISCHES GEBIET
  • Diese Anmeldung richtet sich allgemein auf das Rendern eines Bildes und insbesondere auf das Rendern eines Hintergrundes in einem Bild.
  • HINTERGRUND
  • Bei Computergrafik, z. B. einem nicht in Echtzeit durchgeführten physikalisch basierten Rendern (Physically Based Rendering), verwendet man für Hintergründe gewöhnlich aufgenommene (z. B. HDR-(High-Dynamic-Range)-Fotos) oder gerenderte (z. B. ein Himmelsmodell) Bilder. Diese Bilder können als eine Umgebungskarte, die als ein Rundum-Hintergrundbild und eine Lichtquelle einer Szene dient, und/oder als eine Rückplatte, die als ein Hintergrundbild mit fester Perspektive dient, verwendet werden. Diese Bilder werden als „Hintergrundbilder“ bezeichnet.
  • Wenn Hintergrundbilder verwendet werden, um eine Szene zu umgeben und zu beleuchten, wirken Merkmale in den Hintergrundbildern nicht überzeugend, da ein virtueller Blickpunkt, z. B. Kameraposition, der Szene von der ursprünglichen Position abweicht, d. h. der Position, in der der Hintergrund aufgenommen oder erzeugt wurde. Wenn sich zum Beispiel eine Position einer Kamera, die die Szene betrachtet, bewegt und sich von der ursprünglichen Position entfernt, verschieben sich einige der Merkmale in den Hintergrundbildern, die näher an der Kamera liegen, nicht relativ zu denen, die weiter entfernt sind, wie sie es im wirklichen Leben tun würden. Außerdem erscheinen alle Oberflächen im Hintergrundbild diffus, d. h. es treten keine Reflexions- und Brechungseffekte auf.
  • Dies liegt daran, dass es sich bei den Hintergrundbildern um zweidimensionale (2D) Bilder handelt, weshalb der einzige Blickpunkt für korrektes Sehen der Hintergrundbilder die ursprüngliche Position ist, und die Umgebung in den Hintergrundbildern ist per Definition in der Unendlichkeit. Richtungsdaten zum korrekten Beleuchten der Szene wären nur von der ursprünglichen Position aus verfügbar. Dadurch werden die Hintergrundbilder bei Projektion in den Welt-Raum blickunabhängig und parallaxenfrei und könnten keine neuen Beleuchtungsinformationen liefern.
  • Die oben genannten Probleme treten auch auf, wenn matte Objekte als Teil von Hintergrundbildern verwendet werden. Matte Objekte sind Platzhalter-Geometrien, die als ein Ersatz für ausgewählte Objekte in den Hintergrundbildern hinzugefügt werden. Sie werden verwendet, um Wechselwirkungen zwischen computergenerierten („synthetischen“) Vordergrundobjekten und dem Hintergrund zu simulieren, wie z. B. Vordergrundobjekten, die Schatten auf ein mattes Objekt werfen, oder den in einem matten Objekt gesehenen Reflexionen von Vordergrundobjekten. Da das Erscheinungsbild von matten Objekten aus den Pixeln der Hintergrundbilder abgeleitet wird, wirken die matten Objekte ebenfalls diffus und nicht überzeugend und haben keine Parallaxe, wenn der Blickpunkt von der ursprünglichen Position abweicht. Man beachte, dass sich der Blickpunkt unter Berücksichtigung von Reflexion und Brechung immer von der ursprünglichen Position unterscheidet.
  • Figurenliste
  • Es wird nun auf die folgenden Beschreibungen Bezug genommen, die anhand der begleitenden Zeichnungen gegeben werden, in denen:
    • 1 ein Flussdiagramm eines Verfahrens zur Verwendung eines Lichtfeldes als Hintergrund beim Rendern gemäß den Prinzipien der Offenbarung veranschaulicht; und
    • 2 ein Blockdiagramm eines Beispiel-Computersystems veranschaulicht, das konfiguriert ist, um das Verfahren zur Verwendung eines Lichtfeldes als Hintergrund beim Rendern gemäß den Prinzipien der Offenbarung, wie z. B. im Kontext von 1 erörtert, durchzuführen.
  • DETAILLIERTE BESCHREIBUNG
  • Das vorgestellte Verfahren und das vorgestellte System überwinden alle oben genannten Probleme, indem sie ein 4-dimensionales (4D) Lichtfeld als Hintergrund einer Szene anstelle eines 2D-Hintergrundbildes verwenden. Die Realisierung der Berechnung eines Lichtfeldes erfordert enorme Mengen an Rechenleistung, Datenspeicherung und Zeit (auch mit der gegenwärtig verfügbaren Hardware); das vorgestellte Verfahren und das vorgestellte System berechnen und speichern das Lichtfeld, bevor eine Szene gerendert wird. Um die Zeit zum Speichern und Zugreifen auf das Lichtfeld während des Rendervorgangs zu verkürzen, können das vorgestellte Verfahren und das vorgestellte System einen modifizierten Video-Codec verwenden, um das Lichtfeld als 2D-Bilder zu komprimieren und zu dekomprimieren.
  • Während des Renderns greifen das vorgestellte Verfahren und das vorgestellte System auf das gespeicherte 4D-Lichtfeld zu und verwenden es als Hintergrund für die Szene. Das vorgestellte Verfahren und das vorgestellte System werfen Strahlen in die Szene, um eine Wechselwirkung von Licht mit einem Vordergrund und dem Hintergrund der Szene zu simulieren. Wenn die Strahlen auf den Hintergrund treffen oder die Szene verlassen, schlagen das vorgestellte Verfahren und das vorgestellte System Werte aus dem 4D-Lichtfeld nach, um den Beitrag des 4D-Lichtfeldes zu der Wechselwirkung zu bestimmen.
  • Das vorgestellte Verfahren und das vorgestellte System verbessern das Rendern der Wechselwirkung von Licht mit dem Vordergrund und dem Hintergrund der Szene drastisch, da Daten für mehr (oder alle) Blickrichtungen für Hintergrund-Nachschlagen aus dem 4D-Lichtfeld verfügbar werden. Kamera- bzw. virtuelle Blickpunkt-Drehungen und -Bewegungen (innerhalb der Grenzen des Lichtfeldes) werden auch mit voller Parallaxe möglich, wobei alle blickabhängigen Effekte intakt sind. Und da das Lichtfeld blickabhängige Beleuchtungsinformationen erfasst, erscheinen matte Objekte nicht mehr diffus, sondern wie im wirklichen Leben glänzend oder reflektierend. Um die Konvergenz der Strahlen zu der korrekten Lösung zu beschleunigen, können das vorgestellte Verfahren und das vorgestellte System Techniken wie z. B. Next Event Estimation („Nächstes-Ereignis-Schätzung“), Light Tracing („Lichtnachverfolgung“) und Photon Mapping („Photonen-Abbildung“) beim Nachverfolgen und Bestimmen von Gewichten der Strahlen verwenden.
  • 1 veranschaulicht eine Ausführungsform eines Verfahrens 100 zum Rendern einer Szene unter Verwendung eines 4D-Lichtfeldes als Hintergrund einer Szene. In einer Ausführungsform, in der das Lichtfeld alle Richtungen abdeckt, kann es als eine Umgebungskarte verwendet werden und sowohl als sichtbarer Hintergrund als auch als Lichtquelle (zum Beleuchten der Szene) dienen. In einer anderen Ausführungsform, in der das 4D-Lichtfeld von einer Parallelebenen-Varietät ist und somit nur einen Quadranten abdeckt, kann es als eine Rückplatte verwendet werden, die als Hintergrundbild mit fester Perspektive dient. Das Verfahren kann von einem Renderer wie z. B. einem physikalisch basierten Renderer durchgeführt werden, der mit Bezug auf 2 näher beschrieben wird. Das Verfahren beginnt im Schritt 110.
  • Im Schritt 120 wird ein 4D-Lichtfeld bereitgestellt, das einen Hintergrund der Szene repräsentiert. Das Lichtfeld kann aus einer Szene oder einem Bild aus dem wirklichen Leben erfasst werden oder synthetisch erzeugt werden. In einer Ausführungsform wird das Lichtfeld erzeugt, indem für jede Fläche eines die Szene umgebenden Kastens ein 2D-Array (wie x*y) bereitgestellt wird, das aus ebenen, flachen 2D-Fotos mit einer Auflösung u*v besteht, die mit 6*x*y Kameras aufgenommen wurden. In einer anderen Ausführungsform wird das Lichtfeld erzeugt, indem für jeden Punkt auf einer Kugel, die die zu rendernde Szene umgibt, ein 2D-Bild gespeichert wird; die 2D-Bilder müssen nicht flach sein und könnten auf eine Halbkugel abgebildet werden. Zugriff auf die Lichtfelddaten kann als Strahl parametrisiert werden, z. B. ein Paar von 3D-Positionen und eine Einheitsrichtung, und die letztere kann in Polarkoordinaten ausgedrückt werden. Diese Informationen können leicht auf die native Parametrisierung des Lichtfeldes abgebildet werden, die normalerweise eine 2D-Position auf der das Lichtfeld umgebenden Oberfläche und eine Richtung oder ein Paar von 2D-Koordinaten ist. Man beachte, dass Lichtfeld-Parametrierung nicht auf das obige Verfahren beschränkt ist und andere Parametrierverfahren verwendet werden können.
  • Da das Lichtfeld als ein Strom von 2D-Bildern berechnet und gespeichert wird, kann es komprimiert und auf einer Platte gespeichert und während des Renderns unter Verwendung vorhandener Bildkomprimierungs-Technik und Textur-Hardware-Dekomprimierung auf GPUs live dekomprimiert und entpackt werden. Man beachte, dass selbst wenn das Lichtfeld nicht als ein Strom von 2D-Bildern erzeugt wird, es dennoch als solcher behandelt werden kann, indem ein modifizierter Video-Codec wie z. B. der High Efficiency Video Codec (H.265 und MPEG-H Part 2) oder auf Vektorquantisierung basierende Methoden verwendet werden. Die verwendeten Kompressionstechniken sind eine verlustbehaftete Kompression und können Datenreduktion um mehrere Größenordnungen erreichen.
  • In einer Ausführungsform kann das Lichtfeld verlustlos komprimiert werden. In einer derartigen Ausführungsform kann es möglich sein, gängige Algorithmen und vorhandene Pakete zu verwenden, die bei normaler Dateikompression verwendet werden, z. B. ZIP und dergleichen. Manche Vorverarbeitungs-Transformationen, z. B. eine, die Wavelets verwendet, können ebenfalls angewendet werden, um die Kompression effizienter zu machen.
  • Mit dem leicht zugreifbaren Lichtfeld beginnt das Verfahren 100, ein Bild einer Szene zu rendern. Im Schritt 130 werden Informationen für die zu rendernde Szene (Szeneninformationen) empfangen. Die Szeneninformationen können von einem Speichermedium oder unter Verwendung einer Anwendungsprogrammierschnittstelle direkt von einer Anwendung empfangen werden. Die Informationen können im Allgemeinen Vordergrund-Informationen beinhalten, die den Vordergrund der Szene repräsentieren, wie zum Beispiel mindestens ein (synthetisches) Vordergrundobjekt der Szene, sowie Hintergrund-Informationen, die den Hintergrund der Szene repräsentieren, einschließlich eines matten Objekts darin. Die Vordergrund-Informationen können Szenengeometrie, Materialinformationen und Textur beinhalten, und die Hintergrund-Informationen können das 4D-Lichtfeld und Hintergrundbilder beinhalten.
  • Im Schritt 140 beginnt das Verfahren 100, Lichttransportpfade zu erzeugen, indem Strahlen in die Szene geworfen werden. Die Strahlen werden in die Szene geworfen, um zu simulieren, wie Licht mit der Szene wie z. B. deren Vordergrund und Hintergrund wechselwirkt. Während das Licht durch die Szene wandert, wechselwirkt es mit den Lichtquellen, Hintergründen und Vordergrund- und Hintergrundobjekten der Szene. Die Strahlen werden unter Verwendung einer Monte-Carlo- oder Quasi-Monte-Carlo-Methode erzeugt und gesampled.
  • In einer Ausführungsform können die Strahlen von einem virtuellen Blickpunkt aus, z. B. einem Blickpunkt einer Kamera, die die Szene betrachtet, auf ein Pixel in der Szene geworfen werden. In einer anderen Ausführungsform können die Strahlen von dem Lichtfeld / Hintergrund der Szene oder sowohl von dem virtuellen Blickpunkt als auch dem Lichtfeld / Hintergrund aus geworfen werden, wie z. B. bei bidirektionaler Pfadnachverfolgung (Path Tracing) oder Photon Mapping. Man beachte, dass in der vorliegenden Offenbarung Strahlen nicht nur Primärstrahlen umfassen, d. h. solche, die von einem virtuellen Blickpunkt oder einem Lichtfeld / einer Lichtquelle herrühren, sondern auch Sekundärstrahlen, d. h. solche, die von einem früheren Schnittpunkt aus in eine neue Richtung geworfen werden.
  • Im Schritt 150 werden die Strahlen nachverfolgt, während sie in der Szene herumspringen. Das Nachverfolgen beinhaltet das Sammeln von Gewichten der Strahlen, während sie Lichttransportpfade aufbauen, indem sie von den Oberflächen der Objekte im Vordergrund, d. h. synthetischen Objekten, reflektiert oder gebrochen werden. Jedes Segment eines Lichttransportpfades wird als Licht/Augen-Teilpfad bezeichnet, und sie können verbunden werden, um eine Anzahl von vollständigen Pfaden zu bilden. Beiträge zum endgültigen Bild werden erzeugt, indem die Bildposition irgendeiner Wechselwirkung zwischen einem Strahl und der Szene bestimmt wird und bestimmt wird, ob diese Wechselwirkung von der Kameraposition aus sichtbar ist, z. B. einem virtuellen Blickpunkt.
  • Wenn die Strahlen von einem virtuellen Blickpunkt oder dem Lichtfeld aus geworfen werden, werden die Strahlen nachverfolgt, bis sie auf den Hintergrund (z. B. Grenzen des Lichtfeldes) oder ein mattes Objekt darin treffen, die Szene verlassen (z. B. Strahlen treffen auf nichts) oder wenn der Renderer bestimmt, dass der Pfad es nicht mehr wert ist, verlängert zu werden. Zum Beispiel kann der Renderer die Nachverfolgung nach dem Zufallsprinzip basierend auf „Russischem Roulette“ beenden oder wenn eine bestimmte (konfigurierbare) Anzahl von Wechselwirkungen mit der Szene erzeugt worden ist. Anstatt darauf zu warten, dass die Strahlen irgendetwas treffen, z. B. Hintergrund- oder matte Objekte, kann das Verfahren 100 Techniken wie z. B. Next Event Estimation (NEE) oder andere Techniken des Importance-Sampling (Wichtigkeits-Sampling) verwenden, um die zukünftigen Positionen der Strahlen aktiv zu schätzen und die Konvergenz schneller zu erreichen. In einer Ausführungsform kann das Verfahren 100 NEE verwenden, um Schnittpositionen der Strahlen mit dem Hintergrund basierend auf der Richtung der Strahlen, bevor die Strahlen tatsächlich den Hintergrund treffen oder die Szene verlassen, zu schätzen.
  • Wenn die Strahlen sowohl von dem Lichtfeld als auch von dem virtuellen Blickpunkt aus geworfen werden, werden Präfixe der Teilpfade entweder miteinander verbunden, um vollständige Pfade zu erzeugen, z. B. durch Nachverfolgen von Strahlen zwischen Verbindungspunkten, um gegenseitige Sichtbarkeit zu bestimmen, oder durch Verbinden von benachbarten Punkten mittels Nächster-Nachbar-Nachschlag-Methoden, oder als nicht verbindbar angesehen, z. B. aufgrund von Verdeckung. Bidirektionale Pfadnachverfolgung und Photon Mapping sind Beispiele für Techniken, die Strahlen nachverfolgen, die sowohl von dem Lichtfeld als auch von dem virtuellen Blickpunkt aus geworfen werden.
  • Man erkennt, dass die Schritte 140 und 150 parallel durchgeführt werden können, indem Wellenfronten verwendet werden, die aus vielen Strahlen bestehen, z. B. Werfen und Nachverfolgen von Tausenden von Strahlen von virtuellen Blickpunkten aus auf Tausende von Auftreffpunkten.
  • Im Schritt 160 wird ein Beitrag des Hintergrundes zu der Wechselwirkung von Licht mit dem Vordergrund und dem Hintergrund der Szene bestimmt. Der Beitrag des Hintergrundes zu der Wechselwirkung wird durch Multiplikation der aus Nachverfolgung der Strahlen gesammelten Gewichte mit den aus dem 4D-Lichtfeld an Schnittpunkten mit den Strahlen nachgeschlagenen Werten bestimmt. Wenn die Strahlen von dem virtuellen Blickpunkt aus geworfen werden, werden die Werte basierend darauf, wie (Richtung) und wo (Ort) die Strahlen den Hintergrund schneiden, aus dem 4D-Lichtfeld nachgeschlagen. Wenn die Strahlen von dem Hintergrund oder sowohl von dem virtuellen Blickpunkt als auch dem Hintergrund aus geworfen werden, kann der Beitrag des Hintergrundes mittels der Positionen und Richtungen in Bezug auf das Lichtfeld, von wo aus die Strahlen geworfen werden, bestimmt werden. Die Position und Richtung können unabhängig oder in Verbindung mittels gebräuchlicher Importance-Sampling-Methoden bestimmt werden, um schnelle Konvergenz zu erreichen.
  • Im Ausführungsbeispiel ist die Lichtquelle ein Teil des Hintergrundes, der durch das 4D-Lichtfeld repräsentiert wird. In einer Ausführungsform ist die Lichtquelle möglicherweise nicht ein Teil des Hintergrundes, sondern ein Teil eines synthetischen Objekts in der Szene, zum Beispiel eines Scheinwerfers eines Autos. In diesem Beispiel kann ein Lichtfeld einmal für den Scheinwerfer erzeugt werden, indem alle Linsen und Reflektoren im Inneren berücksichtigt werden und anstelle des Scheinwerfers in der Szene verwendet werden.
  • Sobald die Beiträge bestimmt sind, werden sie im Schritt 170 in einen Framebuffer (Bildspeicher) eines Speichers des Renderers geschrieben. Sie werden beim Rendern einer endgültigen Farbe eines Pixels in der Szene verwendet. Das Verfahren 100 endet im Schritt 175. Man erkennt, dass die Schritte 140-160 wiederholt werden können, bis genügend Samples (d. h. Lichttransportpfade) angesammelt worden sind, um an der konvergierten Lösung anzukommen.
  • 2 veranschaulicht ein Blockdiagramm eines Beispiel-Computergrafik-Render-Computersystems 200, das konfiguriert ist, um das Verfahren zum Rendern einer Szene unter Verwendung eines 4D-Lichtfeldes als Hintergrund gemäß den Prinzipien der Offenbarung, wie z. B. im Kontext von 1 erörtert, anzuwenden.
  • Ausführungsformen des Systems 200 können eine Zentralverarbeitungseinheit (CPU) 210, z. B. als Host-Prozessor konfiguriert, und ein Speichermedium 215 wie z. B. Hauptspeicher 220 (z. B. Direktzugriffsspeicher, RAM) und Sekundärspeicher 225 beinhalten. Das Speichermedium 215 kann nichtflüchtig Steuerlogik-Software, z. B. ein Computerprogrammerzeugnis, sowie Daten speichern, die einen Vordergrund und einen Hintergrund der Szene repräsentieren, wie z. B. Szeneninformationen 205, welche Szenengeometrie, Materialinformationen, Hintergrundbilder und ein 4D-Lichtfeld beinhalten. Der Hauptspeicher 220 kann die endgültigen Werte von Pixeln in der Szene in einem Framebuffer 222 speichern, nachdem der Beitrag des Lichtfeldes zu der Wechselwirkung von Licht mit dem Vordergrund und Hintergrund der Szene bestimmt worden ist. Nicht einschränkende Beispiele für den Hauptspeicher 220 umfassen z. B. Direktzugriffsspeicher (RAM). Nicht einschränkende Beispiele für den Sekundärspeicher 225 umfassen Festplattenlaufwerke, Wechselspeicherlaufwerke wie z. B. Diskettenlaufwerke, ein Magnetbandlaufwerk oder ein CD-Laufwerk.
  • Ausführungsformen des Systems 200 können auch eine Grafikverarbeitungseinheit (GPU) 230 beinhalten. In manchen Ausführungsformen kann die GPU 230 eine Vielzahl von Ray-Casting-Modulen („Strahlenwurf-Modulen“) und Ray-Tracing-Modulen („Strahlnachverfolgungs“-Modulen) beinhalten, um die Durchführung von Schritten eines Render-Verfahrens wie z. B. des Verfahrens 100 zu erleichtern. In manchen Ausführungsformen können diese Module weiterhin konfiguriert sein, um den Beitrag eines Hintergrund/4D-Lichtfeldes zu der Wechselwirkung zwischen dem Vordergrund und dem Hintergrund der Szene zu bestimmen. In anderen Ausführungsformen des Systems 200 kann die CPU 210 konfiguriert sein, um die Bestimmung durchzuführen.
  • Ausführungsformen des Systems 200 können eine Anzeige 240 enthalten, z. B. einen Computermonitor oder eine andere Benutzeroberfläche. In manchen Ausführungsformen des Systems 200 kann ein Kommunikationsbus 250 irgendwelche von der CPU 210, dem Hauptspeicher 220 und dem Sekundärspeicher 225, der GPU 230 und der Anzeige 240 miteinander verbinden.
  • In manchen Ausführungsformen können sich die Ray-Casting-Module und Ray-Tracing-Module auf einer einzigen Halbleiterplattform befinden, um die GPU 230 zu bilden. In manchen Ausführungsformen kann die einzelne Halbleiterplattform der GPU 230 eine einheitliche halbleiterbasierte integrierte Schaltung (IC) wie z. B. ein anwendungsspezifisches System auf einem Chip (ASIC) enthalten. Ausführungsformen der einzelnen Halbleiterplattform können Multi-Chip-Module mit erhöhter Konnektivität beinhalten, die auf dem Chip ausgeführte Operationen simulieren, um Verbesserungen gegenüber herkömmlichen CPU- und Bus-Implementierungen zu erzielen. In anderen Ausführungsformen können sich eine oder mehrere Komponenten des Systems 200 getrennt oder in verschiedenen Kombinationen auf verschiedenen Halbleiterplattformen befinden. Ausführungsformen des Systems 200 können feldprogrammierbare Gate-Arrays (FPGAs) enthalten.
  • Computerlesbare Anweisungen wie z. B. Computerprogrammerzeugnisse einschließlich Computersteuerungslogik-Algorithmen können nichtflüchtig in dem Speichermedium 215 gespeichert sein, z. B. entweder dem Hauptspeicher 220 oder dem Sekundärspeicher 225 oder beiden. Die Anweisungen können bei ihrer Ausführung einen Prozessor wie z. B. die CPU 210 und/oder die GPU 230 veranlassen, verschiedene Schritte des Verfahrens zum Rendern einer Szene unter Verwendung eines 4D-Lichtfeldes als Hintergrund durchzuführen, wie z. B. irgendwelche der im Kontext von 1 offenbarten Schritte.
  • Nicht einschränkende Ausführungsbeispiele des Computersystems 200 umfassen allgemeine Computersysteme, ein Platinensystem und ein Spielekonsolensystem für Unterhaltungszwecke, ein anwendungsspezifisches System oder ein anderes Computersystem, das einem Fachmann in der relevanten Technik vertraut ist. Zum Beispiel kann das Computersystem 200 in Form eines Desktop-Computers, Laptop-Computers, Persönlichen Digitalen Assistenten (PDA), eines Mobiltelefongeräts, eines Fernsehers usw. verkörpert sein. In manchen Ausführungsformen kann das Computersystem 200 zu Kommunikationszwecken mit einem Netz gekoppelt sein, z. B. einem Telekommunikationsnetz, Lokalen Netz (LAN), Drahtlosnetz, Weitverkehrsnetz (WAN) wie z. B. dem Internet, Peer-to-Peer-Netz, Kabelnetz usw.
  • Der Fachmann, auf den sich diese Anmeldung bezieht, wird erkennen, dass andere und weitere Hinzufügungen, Weglassungen, Ersetzungen und Änderungen an den beschriebenen Ausführungsformen vorgenommen werden können.

Claims (15)

  1. Verfahren zum Rendern, umfassend: Empfangen von Informationen über eine zu rendernde Szene, wobei die Informationen Vordergrund-Informationen, die einen Vordergrund der Szene repräsentieren, und ein 4-dimensionales (4D) Lichtfeld, das einen Hintergrund der Szene repräsentiert, enthalten; Werfen von Strahlen in die Szene, um eine Wechselwirkung von Licht mit dem Vordergrund und dem Hintergrund der Szene zu simulieren; und Bestimmen eines Beitrags des Hintergrundes zu der Wechselwirkung durch Verwenden von Werten des 4D-Lichtfeldes an Schnittpunkten mit den Strahlen.
  2. Verfahren nach Anspruch 1, das weiterhin das Komprimieren und Speichern des 4D-Lichtfeldes als ein Strom von zweidimensionalen Bildern umfasst.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Wechselwirkung eine Wechselwirkung von Licht mit einem synthetischen Objekt des Vordergrundes und einem matten Objekt des Hintergrundes umfasst.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Werte auf einer Position und einer Richtung basieren, mit denen die Strahlen den Hintergrund schneiden.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Beitrag ein Produkt der aus Nachverfolgung der Strahlen gewonnenen Werte und Gewichte ist.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Strahlenwerfen umfasst, die Strahlen entweder von einem virtuellen Blickpunkt oder von dem Hintergrund zu werfen.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Strahlenwerfen umfasst, die Strahlen sowohl von einem virtuellen Blickpunkt als auch von dem Hintergrund aus zu werfen.
  8. Renderer, umfassend: einen Speicher, der konfiguriert ist, um Informationen für eine zu rendernde Szene zu speichern, wobei die Informationen Vordergrund-Informationen, die einen Vordergrund der Szene repräsentieren, und ein 4-dimensionales (4D) Lichtfeld, das einen Hintergrund der Szene repräsentiert, enthalten; und eine Grafikverarbeitungseinheit, die mit dem Speicher gekoppelt und konfiguriert ist, um Strahlen in die Szene zu werfen, um eine Wechselwirkung von Licht mit dem Vordergrund und dem Hintergrund der Szene zu simulieren und einen Beitrag des Hintergrundes zu der Wechselwirkung durch Verwenden von Werten des 4D-Lichtfeldes an Schnittpunkten mit den Strahlen zu bestimmen.
  9. Renderer nach Anspruch 8, wobei das 4D-Lichtfeld komprimiert und als ein Strom von zweidimensionalen Bildern in dem Speicher gespeichert wird.
  10. Renderer nach Anspruch 8 oder 9, wobei die Strahlen das 4D-Lichtfeld schneiden, wenn die Strahlen auf den Hintergrund treffen oder wenn die Strahlen von dem Hintergrund aus geworfen werden.
  11. Renderer nach einem der Ansprüche 8 bis 10, wobei die Wechselwirkung eine Wechselwirkung von Licht mit einem synthetischen Objekt des Vordergrundes und einem matten Objekt des Hintergrundes umfasst.
  12. Renderer nach einem der Ansprüche 8 bis 11, wobei der Beitrag ein Produkt der aus Nachverfolgung der Strahlen gewonnenen Werte und Gewichte ist.
  13. Renderer nach einem der Ansprüche 8 bis 12, wobei die Strahlen entweder von einem virtuellen Blickpunkt oder von dem Hintergrund aus geworfen werden.
  14. Renderer nach einem der Ansprüche 8 bis 13, wobei die Strahlen sowohl von einem virtuellen Blickpunkt als auch von dem Hintergrund aus geworfen werden.
  15. Computerprogrammerzeugnis, das in einem nichtflüchtigen computerlesbaren Medium gespeichert ist, das bei Ausführung einen Prozessor ein Verfahren gemäß einem der Ansprüche 1 bis 7 durchführen lässt.
DE102018125589.6A 2017-10-17 2018-10-16 Lichtfelder als bessere Hintergründe beim Rendern Pending DE102018125589A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762573384P 2017-10-17 2017-10-17
US62/573,384 2017-10-17
US16/051,033 US10776995B2 (en) 2017-10-17 2018-07-31 Light fields as better backgrounds in rendering
US16/051,033 2018-07-31

Publications (1)

Publication Number Publication Date
DE102018125589A1 true DE102018125589A1 (de) 2019-04-18

Family

ID=65910230

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018125589.6A Pending DE102018125589A1 (de) 2017-10-17 2018-10-16 Lichtfelder als bessere Hintergründe beim Rendern

Country Status (1)

Country Link
DE (1) DE102018125589A1 (de)

Similar Documents

Publication Publication Date Title
DE102019118838A1 (de) Virtuelle photogrammetrie
DE112018000311T5 (de) Stereoskopisches Rendering unter Verwendung von Raymarching und ein Broadcaster für eine virtuelle Ansicht für solches Rendering
DE3751981T2 (de) Verfahren und Vorrichtung zur Gewinnung von Strahlungsbildern unter Verwendung eines Licht-Pufferspeichers
DE102020000810A1 (de) 3D-Objektrekonstruktion unter Nutzung einer fotometrischen Netzdarstellung
DE69932619T2 (de) Verfahren und system zum aufnehmen und repräsentieren von dreidimensionaler geometrie, farbe und schatten von animierten objekten
DE69901542T2 (de) Verfahren und vorrichtung zur abschätzung der leistung eines grafischen systems von polygonen
DE102009041431B4 (de) Fahrsimulationsvorrichtung, Weitwinkelkamera-Videosimulationsvorrichtung und Bilddeformierungs-/-zusammensetzungsvorrichtung
DE102019103059A1 (de) Hieb- und stichfester Strahl-Dreieck-Schnittpunkt
DE102019103058A1 (de) Verfahren für fortgesetzte begrenzungsvolumenhierarchietraversierung auf schnittpunkte ohne shader-intervention
DE102016103891A1 (de) Systeme und Verfahren zur weichen Schattierung in 3D-Rendering
DE102015113240A1 (de) System, verfahren und computerprogrammprodukt für schattierung unter verwendung eines dynamischen objektraumgitters
DE102021205824A1 (de) Techniken zur traversierung von bei raytracing verwendeten daten
DE102021115353A1 (de) Strahlverfolgung-hardwarebeschleunigung zur unterstützung von bewegungsunschärfe und sich bewegender/verformender geometrie
DE102021205758A1 (de) Hardware-beschleunigung für strahlverfolgung mit transformationen in alternativen weltraum
DE102021205765A1 (de) Hardwarebasierte techniken der strahlverfolgung zur effizienten darstellung und verarbeitung eines beliebigen hüllkörpers
DE102017108096A1 (de) System, verfahren und computerprogrammprodukt zum rendern bei variablen abtastraten mittels projektiver geometrischer verzerrung
DE102016103854A1 (de) Graphikverarbeitung mit direktionalen Darstellungen der Beleuchtung an Sondenpositionen innerhalb einer Szene
DE102021115407A1 (de) Hardwarebeschleunigung zur strahlverfolgung von primitiven, die vertices teilen
DE102018101030A1 (de) Filterung von Bilddaten unter Verwendung eines neutralen Netzwerks
EP3098752A1 (de) Verfahren und vorrichtung zur erzeugung eines bildes mit repräsentation einer ansammlung von bildern
DE102021114847A1 (de) Verbesserte techniken zum traversieren von strahlverfolgungs-beschleunigungsstrukturen
Widmer et al. An adaptive acceleration structure for screen-space ray tracing
DE102010048486A1 (de) Bildverarbeitungstechniken
DE102013222685A1 (de) System, Verfahren und Computer-Programm-Produkt zum Abtasten einer hierarchischen Tiefe-Karte
DE102020108358A1 (de) Wiedergeben von szenen mit einer kombination aus strahlverfolgung und rasterung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication