DE102017127367A1 - Automatischer detaillierungsgrad für physikalisch basierte materialien - Google Patents

Automatischer detaillierungsgrad für physikalisch basierte materialien Download PDF

Info

Publication number
DE102017127367A1
DE102017127367A1 DE102017127367.0A DE102017127367A DE102017127367A1 DE 102017127367 A1 DE102017127367 A1 DE 102017127367A1 DE 102017127367 A DE102017127367 A DE 102017127367A DE 102017127367 A1 DE102017127367 A1 DE 102017127367A1
Authority
DE
Germany
Prior art keywords
declarative
rules
expression
representation
declarative representation
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
DE102017127367.0A
Other languages
English (en)
Inventor
Lutz Kettner
Jan Jordan
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 US15/599,320 external-priority patent/US10504273B2/en
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE102017127367A1 publication Critical patent/DE102017127367A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Abstract

Ein Verfahren, ein computerlesbares Medium und ein System werden zum Implementieren eines automatischen Detaillierungsgrad für physikalisch basierte Materialien offenbart. Das Verfahren umfasst die Schritte eines Kennzeichnens einer deklarativen Darstellung eines zu rendernden Materials, eines Erzeugens einer deklarativen Darstellung verringerter Komplexität des Materials durch Anwenden einer oder mehrerer Termumschreibregeln auf die deklarative Darstellung des Materials und einer Rückgabe der deklarativen Darstellung verringerter Komplexität des Materials.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft physikalisch basiertes Rendering und insbesondere das Verringern der Materialkomplexität im Kontext eines physikalisch basierten Renderings.
  • HINTERGRUND
  • Ein Detaillierungsgrad wird bei einem Rendering verwendet, um die Komplexität einer Rendering-Aufgabe zu verringern, während eine ungefähre Formtreue des gerenderten Ergebnisses bewahrt wird. Die Rendering-Komplexität wird mindestens teilweise durch Geometrie, Material und Beleuchtungskomplexität bestimmt. Mit physikalisch basiertem Rendering kann die Materialkomplexität in Texturierungsfunktionen und bidirektionalen Streuverteilungsfunktionen (BSDFs = bidirectional scattering distibution function) getrennt werden.
  • Komplexe Materialien können unter Verwendung eines deklarativen Paradigmas durch Definieren eines Ausdrucks aufgebaut werden, der Terme einer einfachen Verteilungsfunktion (z.B. BRDF, BTDF, EDF, Phasenfunktion) kombiniert. Es gibt gegenwärtig jedoch kein System, um eine einfachere deklarative Materialdarstellung automatisch herzuleiten, um Materialkomplexität zu verringern und einen Detaillierungsgrad zu implementieren.
  • Somit gibt es einen Bedarf, sich diesen Angelegenheiten und/oder anderen Angelegenheiten zu widmen, die dem Stand der Technik zugeordnet sind.
  • ZUSAMMENFASSUNG
  • Ein Verfahren, ein computerlesbares Medium und ein System werden zum Implementieren eines automatischen Detaillierungsgrad für physikalisch basierte Materialien offenbart. Das Verfahren umfasst die Schritte eines Kennzeichnens einer deklarativen Darstellung eines zu rendernden Materials, eines Erzeugens einer deklarativen Darstellung verringerter Komplexität des Materials durch Anwenden einer oder mehrerer Termumschreibregeln auf die deklarative Darstellung des Materials und einer Rückgabe der deklarativen Darstellung verringerter Komplexität des Materials.
  • Figurenliste
    • 1 veranschaulicht ein Ablaufdiagramm eines Verfahrens zum Implementieren eines automatischen Detaillierungsgrads für physikalisch basierte Materialien gemäß einer Ausführungsform;
    • 2 veranschaulicht eine beispielhafte Umgebung zum Implementieren eines Detaillierungsgrad-Rahmens gemäß einer Ausführungsform;
    • 3 veranschaulicht eine andere beispielhafte Umgebung zum Implementieren eines Detaillierungsgrad-Rahmens mit eingebauten Regeln gemäß einer Ausführungsform;
    • 4 veranschaulicht ein beispielhaftes System, in dem die verschiedene Architektur und/oder Funktionalität der verschiedenen vorherigen Ausführungsformen implementiert werden können.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 veranschaulicht ein Ablaufdiagramm eines Verfahrens 100 zum Implementieren eines automatischen Detaillierungsgrads für physikalisch basierte Materialien gemäß einer Ausführungsform. Wie in Operation 102 gezeigt, wird eine deklarative Darstellung eines zu rendernden Materials gekennzeichnet. In einer Ausführungsform kann die deklarative Darstellung eine semantisch spezifizierte Darstellung des Materials in einem deklarativen Programmierparadigma umfassen. Beispielsweise kann das deklarative Programmierparadigma die Logik von einer oder mehreren Berechnungen ohne Beschreiben des Steuerablaufs ausdrücken. Siehe beispielsweise das U.S. Patent Pub. 2014/0267340 (Kettner et al.), das hiermit durch Bezugnahme in seiner Gesamtheit aufgenommen ist.
  • Außerdem kann in einer Ausführungsform die deklarative Darstellung einen Ausdrucksbaum oder einen gerichteten azyklischen Graphen (DAG) umfassen. In einer anderen Ausführungsform kann der Ausdrucksbaum einen Baum umfassen, der verwendet wird, um einen oder mehrere Ausdrücke darzustellen.
  • Beispielsweise können ein oder mehrere Knoten des Ausdrucksbaums jeweils einen Funktionsaufruf darstellen. In einem anderen Beispiel kann der Funktionsaufruf eine reguläre Funktion aufrufen, wobei reguläre Funktionen ein Ergebnis basierend auf einer Blackbox-Implementierung berechnen können. In einem anderen Beispiel kann der Funktionsaufruf eine Verteilungsfunktion aufrufen, wobei die Verteilungsfunktionen eine oder mehreren eines bidirektionale Reflektanzverteilungsfunktion (BRDF) oder einer bidirektionalen Streuverteilungsfunktion (BSDF) umfassen. In einer anderen Ausführungsform kann die deklarative Darstellung einen Ausdrucksbaum umfassen, wobei ein oder mehrere Knoten des Ausdrucksbaums jeweils einen Funktionsaufruf oder eine Verteilungsfunktion darstellen, der/die eine oder mehrere einer bidirektionalen Reflexionsverteilungsfunktion (BRDF), einer bidirektionalen Transmissionsverteilungsfunktion (BTDF), einer Emissionsverteilungsfunktion (EDF) und einer Phasenfunktion umfassen.
  • Ferner können in einer Ausführungsform sowohl reguläre Funktionen als auch Verteilungsfunktionen innerhalb des Ausdruckbaums umfasst sein. Beispielsweise können alle Knoten oberhalb eines Graphenschnitts in dem Ausdrucksbaum einen deklarativen Teil des Baums mit vollständig definierter Semantik bilden. In einem anderen Beispiel können alle Knoten unterhalb des Graphenschnitts einen Satz von Bäumen bilden, die jeweils einen Wert für einen Parameter des deklarativen Teils des Baums bereitstellen. In noch einem anderen Beispiel kann eine Verteilungsfunktion eine andere Verteilungsfunktion und/oder eine reguläre Funktion als ein Argument aufweisen.
  • Ferner kann in einer Ausführungsform die Wurzel des Ausdrucksbaums weiterhin eine Funktion umfassen, die eine BSDF und einen Mapping-Vektor als Argumente nimmt. In einer anderen Ausführungsform kann die deklarative Darstellung des Materials einen Materialausdruck oder eine Materialdefinition umfassen, die einen definierenden Ausdruck umfasst, wobei der definierende Ausdruck durch eine oder mehrere Regeln verringert werden kann und wobei ein Parameterwert des definierenden Ausdrucks eine Übereinstimmung einer oder mehrerer Regeln bedingt verhindert. In noch einer anderen Ausführungsform kann das Material unter Ausnutzung eines physikalisch basierten Rendering-Modells (PBR-Modell) gerendert werden.
  • In einer Ausführungsform können die Blätter des Baums ebenfalls einen oder mehrere Werte darstellen. In einer anderen Ausführungsform kann jede Kante des Baumes eine Verwendung eines Wert oder Funktionsrückgabewerts als ein Argument in einer Funktion eines jeweiligen Elternknotens darstellen.
  • Außerdem wird, wie in Operation 104 gezeigt, eine deklarative Darstellung verringerter Komplexität des Materials durch Anwenden einer oder mehrerer Termumschreibregeln auf die deklarative Darstellung des Materials erzeugt. In einer Ausführungsform kann die deklarative Darstellung verringerter Komplexität des Materials einen Materialausdruck umfassen, der eine verringerte Komplexität im Vergleich mit dem Materialausdruck aufweist, auf den die eine oder mehreren Umschreibregeln angewandt wurden. Beispielsweise kann die deklarative Darstellung verringerter Komplexität des Materials einen Ausdrucksbaum oder einen gerichteten azyklischen Graphen (DAG) umfassen, der eine verringerte Komplexität aufweist.
  • Weiterhin können in einer Ausführungsform die Termumschreibregeln einen Term innerhalb der deklarativen Darstellung des Materials ändern (z.B. umschreiben usw.). Beispielsweise kann ein Termumschreiben ein Ersetzen einzelner Teilterme eines Ausdrucks mit anderen Termen umfassen. Es kann ein Umschreiben eines Ausdrucks ermöglichen, um ein bestimmtes Ziel oder einen Satz von Einschränkungen zu erfüllen. In einer anderen Ausführungsform können die Termumschreibregeln das Material auf ein anderes Material abbilden. Beispielsweise kann eine Musterübereinstimmung verwendet werden, um einen Ausdruck (der ein strukturelles Teil in dem Material darstellt) anzupassen und den Ausdruck mit einem anderen Ausdruck zu ersetzen. In einem anderen Beispiel kann während der Musteranpassung ein Ausdruck mit einem anderen Ausdruck übereinstimmen, wenn der Ausdruck Teil des anderen Ausdrucks ist.
  • Ebenfalls kann in einer Ausführungsform eine Mehrzahl von Termumschreibregeln auf die deklarative Darstellung des Materials angewandt werden, um die deklarativen Darstellung verringerter Komplexität des Materials zu erzeugen. In einer anderen Ausführungsform kann eine Reihenfolge bestimmt werden, in der die Mehrzahl von Termumschreibregeln angewandt werden. Beispielsweise kann die Mehrzahl von Termumschreibregeln in Folge angewandt werden. In einem anderen Beispiel kann die Mehrzahl von Termumschreibregeln rekursiv angewandt werden.
  • Außerdem kann in einem Beispiel der Ausdrucksbaum in einer vorbestimmten Reihenfolge durchquert werden und eine Mehrzahl von Termumschreibregeln kann mit Knoten abgestimmt und während der Durchquerungen angewandt werden. In einem anderen Beispiel kann eine Mehrzahl von Termumschreibregeln in allen möglichen Reihenfolgen angewandt werden, um eine Mehrzahl von deklarativen Darstellungen verringerter Komplexität des Materials zu erzeugen und eine der Mehrzahl von Darstellungen kann gemäß einem oder mehreren vorbestimmten Kriterien ausgewählt werden. In noch einem anderen Beispiel kann die Mehrzahl von Termumschreibregeln in einer Untermenge aller möglichen Reihenfolgen unter Verwendung einer vorbestimmten Auswahlstrategie angewandt werden, um eine Mehrzahl von deklarativen Darstellungen verringerter Komplexität des Materials zu erzeugen und eine von der Mehrzahl von deklarativen Darstellungen verringerte Komplexität des Materials kann gemäß einem oder mehreren vorbestimmten Kriterien ausgewählt werden, wobei die vorbestimmte Auswahlstrategie auf gieriger Auswahl, einer beliebigen Kostenfunktion oder Auswahlkriterien, auf welche Regeln anzuwenden sind und welche nicht anzuwenden sind, basiert.
  • In einer anderen Ausführungsform kann die deklarative Darstellung in einer Tiefe zuerst, links nach rechts Reihenfolge rekursiv durchquert werden und die eine oder mehreren Termumschreibregeln können gegenüber einem aktuellen Knoten der deklarativen Darstellung während der Durchquerung abgestimmt und auf diesen angewandt werden, wobei Unterausdrücke der deklarativen Darstellung rekursiv nach Anwendung der einen oder mehreren Termumschreibregeln durchquert werden können. In noch einer anderen Ausführungsform kann die deklarative Darstellung in einer Tiefe zuerst, links nach rechts Reihenfolge rekursiv durchquert werden und die eine oder mehreren Termumschreibregeln können gegenüber einem aktuellen Knoten der deklarativen Darstellung abgestimmt werden und nur auf diesen angewandt werden, nachdem alle Unterausdrücke des aktuellen Knotens rekursiv durchquert wurden.
  • In einer anderen Ausführungsform können die eine oder mehreren Termumschreibregeln bestimmt werden durch Definieren einer Mehrzahl von abschließenden Ausdrücken, Erzeugen einer Mehrzahl von übereinstimmenden Mustern für alle BSDFs innerhalb der deklarativen Darstellung erzeugen, wobei die Mehrzahl von übereinstimmenden Mustern alle mögliche Kombinationen aufzählt, wie sich die Mehrzahl von abschließenden Ausdrücken in Parametern der BSDFs zeigen kann, Beseitigen von der Mehrzahl von übereinstimmenden Mustern jene, die gleich der Mehrzahl von abschließenden Ausdrücken sind, um eine Mehrzahl von verbleibenden Mustern zu erzeugen, und für jedes der Mehrzahl von verbleibenden Mustern zu erzeugen, Wählen eines Ersetzungsausdrucks von der Mehrzahl von abschließenden Ausdrücken und Definieren von Argumenten des Ersetzungsausdruck basierend auf Argumenten einer Übereinstimmung innerhalb der verbleibenden Muster.
  • Ferner können in einer Ausführungsform die Termumschreibregeln auf einen Materialausdruck angewandt werden und eine Folge von Materialausdrücke erzeugen, die mit einem endgültigen Materialausdruck verringerter Komplexität enden.
  • Beispielsweise können die Termumschreibregeln ausgestaltet sein, um eine vorbestimmte Eigenschaft oder Invariante für den endgültigen Materialausdruck verringerter Komplexität zu erhalten. In einem anderen Beispiel können die Termumschreibregeln ausgestaltet sein, um eine vorbestimmte Eigenschaft oder Invariante für jeden der Folge von Materialausdrücken sowie auch den endgültigen Materialausdruck verringerter Komplexität zu erhalten. Beispielsweise kann jeder nachfolgende Materialausdruck in der Folge eine Vereinfachung eines vorangehenden Materialausdrucks in der Folge usw. sein. Auf diese Weise kann der endgültige Materialausdruck verringerter Komplexität sowie auch die Folge von Materialausdrücken mit einem vorbestimmten Detaillierungsgrad unter Ausnutzung eines einzigen Prozesses erzeugt werden.
  • Weiterhin können in einer Ausführungsform die Termumschreibregeln unter Ausnutzung eines induktiven Prozesses bestimmt werden. In einer anderen Ausführungsform kann der Ausdrucksbaum in eine Darstellung eines azyklischen Graphen erweitert werden. In noch einer anderen Ausführungsform kann die deklarative Darstellung des Materials einen oder mehrere nicht spezifizierte Parameter umfassen. Beispielsweise kann ein Benutzer des Materials Werte für die nicht spezifizierten Parameter bereitstellen. In einem anderen Beispiel kann die deklarative Darstellung des Materials unter Ausnutzung einer Klassenstruktur implementiert werden, wobei die nicht spezifizierten Parameter in einer Instanz der Klasse umfasst sind.
  • In einer Ausführungsform können Argumente im Ausdrucksbaum ebenfalls ausgewertet und in der einen oder mehreren Termumschreibregeln verwendet werden. In einer anderen Ausführungsform können Anmerkungen oder andere Metadaten innerhalb der deklarativen Darstellung umfasst sein, wobei die Anmerkungen oder andere Metadaten verwendet werden können, um eine oder mehrere Termumschreibregeln auszuwählen, oder als zusätzliche Parameter während der Anwendung der einen oder mehreren Termumschreibregeln auf die deklarative Darstellung des Materials verwendet werden können. In noch einer anderen Ausführungsform können eine oder mehrere Termumschreibregeln auf generische Funktionen angewandt werden. In noch einer anderen Ausführungsform kann eine Musterübereinstimmung, die verwendet wird, um Ausdrücke abzustimmen, mehrere Muster gleichzeitig abstimmen und Variablen können unter Verwendung eines Vereinheitlichungsalgorithmus gebunden werden.
  • Außerdem können in einer Ausführungsform eine oder mehrere Termumschreibregeln eine Bump-Map des Materials mit einer Rauigkeits-Map des Materials ersetzen. In einer anderen Ausführungsform können eine oder mehrere Termumschreibregeln Flocken unter Ausnutzung einer glänzenden BSDF annähern. In noch einer anderen Ausführungsform können eine oder mehrere Termumschreibregeln ein komplexes hochdetailliertes Material mit einem einfacheren niedrigdetaillierten Fernfeldmaterial statisch ersetzen. In noch einer anderen Ausführungsform kann der Ausdrucksbaum Textur-Backen enthalten.
  • Des Weiteren wird, wie in Operation 106 gezeigt, die deklarative Darstellung verringerter Komplexität des Materials zurückgegeben. In einer Ausführungsform kann die deklarative Darstellung verringerter Komplexität des Materials gerendert werden, um ein visuelles Ergebnis zu erzeugen. In einer anderen Ausführungsform kann das Rendering unter Ausnutzung eines physikalisch basierten Renderingmodells (PBR-Modell) durchgeführt werden. In noch einer anderen Ausführungsform kann die Kennzeichnung der deklarativen Darstellung des zu rendernden Materials, sowie auch die Erzeugung und Rückgabe der deklarativen Darstellung verringerter Komplexität des Materials, durch einen oder mehrere Hardwareprozessoren (z.B. eine Graphikverarbeitungseinheit (GPU), eine zentrale Verarbeitungseinheit (CPU) usw.), fest zugeordnete Hardware usw. durchgeführt werden.
  • Veranschaulichendere Information wird nun hinsichtlich verschiedener optionaler Architekturen und Merkmale dargelegt, mit denen der vorhergehende Rahmen gemäß den Wünschen des Benutzers implementiert werden kann oder nicht. Es sei nachdrücklich zu beachten, dass die folgende Information nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Jedes der folgenden Merkmale kann optional mit oder ohne den Ausschluss von anderen beschriebenen Merkmalen aufgenommen werden.
  • Detaillierungsgrad-Rahmen
  • In einer Ausführungsform kann ein Detaillierungsgrad-Rahmen Ideen von Termumschreibsystemen auf die spezifischen deklarativen Ausdrücke anwenden, die verwendet werden, um BSDFs und Materialien in einer deklarativen Sprache (z.B. die NVIDIA Material Definition Sprache (MDL) usw.) aufzubauen. Eine Anwendung dieser Idee kann komplexere BSDF-Ausdrücke in einfachere BSDF-Ausdrücke transformieren, während die gewünschte Wirkung des komplexen BSDF-Ausdrucks in die Texturen bewegt wird, die in die Parameter des einfacheren BSDF-Ausdrucks einspeisen. Im Folgenden stellen wir den Rahmen vor und wie er systematisch verwendet werden kann.
  • Rahmen
  • In diesem Abschnitt definieren wir ausführlicher deklarative Ausdrücke und wie Regeln eines Termumschreibsystems an ihnen arbeiten kann. Wir definieren eine repräsentative Untermenge der deklarativen Ausdrucksprache von MDL und erläutern, wie Termumschreibregeln an diesen Ausdrücken arbeiten können, um eine Folge von Materialien von weniger und weniger Detail zu erzeugen, die beispielsweise in einer einzigen diffusen BRDF endet. Wir erforschen ferner Varianten und Erweiterungen der grundlegenden Idee.
  • Deklarative Ausdrücke, um physikalisch basierte Materialien zu definieren
  • Aus Gründen der Klarheit der anfänglichen Darlegung unserer Ideen starten wir mit einem vereinfachten Materialmodell, das Transparenz, Emission und volumetrische Effekte ignoriert. Sie können analog behandelt werden. Wir modellieren ein physikalisch basiertes Material als einen Ausdrucksbaum, der auf einen gerichteten azyklischen Graphen erweitert werden kann, wie später beschrieben. Der Baum kann aus Funktionsaufrufen als Knoten in dem Baum und Werten in den Blättern des Baums bestehen. Eine Kante in dem Baum kann die Verwendung eines Werts oder eines Funktionsrückgabewerts als ein Argument in der Funktion von seinen jeweiligen Elternknoten bezeichnen.
  • Eine beispielhafte Unterscheidung zwischen der deklarativen Materialdefinition und der prozeduralen Sprache, um Texturierung zu definieren, kommt in diesem Ausdrucksbaum als zwei Arten von Knoten zustande: reguläre Funktionen und Verteilungsfunktionen.
  • Reguläre Funktionen können ein Ergebnis von ihren Argumenten basierend auf einer unbekannten (Blackbox) Implementierung berechnen. Diese Funktionen können somit beispielsweise mit einer prozeduralen Sprache implementiert sein, ohne die Vorteile des deklarativen Teils zu beeinflussen. Die Funktionen können jedoch als rein, d.h. nebenwirkungsfrei angenommen werden. Außerdem können sie auf einen Renderzustand zugreifen, wie beispielsweise Position, Normale, UV-Texturräume usw., der als ein immer vorhandener impliziter Parameter behandelt werden kann.
  • Wenn nur das Oberflächenstreuverhalten eines Material am Anfang behandelt wird, sind die Verteilungsfunktionen BRDFs (die auf BSDFs erweitert werden können). Im Gegensatz zu den regulären Funktionen kann ihr Verhalten (obwohl nicht ihre Implementierungen) vollständig spezifiziert und mit ihrer Semantik bekannt sein.
  • Reguläre Funktionen können keine Verteilungsfunktionen als Argumente aufweisen. Verteilungsfunktionen können andere Verteilungsfunktionen und reguläre Funktionen als Argumente aufweisen. Wir verwenden des Weiteren eine fest zugeordnete Funktion M als die Wurzel des Ausdrucksbaums mit einer BSDF und weiteren Argumenten. Sie kann Teil der deklarativen Definition sein.
  • Die Unterscheidung zwischen dem deklarativen Teil und den regulären Funktionen kann ein Graphenschnitt in diesem Ausdrucksbaum erzeugen. Alle Knoten oberhalb des Schnitts können einen Baum mit vollständig definierter Semantik bilden. Alle verbleibenden Knoten unterhalb des Schnitts können einen Wald bilden, d.h. einen Satz von Bäumen, wobei jeder Baum einen Wert für einen Parameter des deklarativen Teils bereitstellt.
  • Dies kann uns ermöglichen, die Bedeutung einer Zusammensetzung von Verteilungsfunktionen in dem oberen Baum zu analysieren und sie in eine unterschiedliche zu transformieren, während der Einfluss dieser Transformation verstanden wird. Wir können dies in Unterscheidung zu anderen Vereinfachungsverfahren auf dieser Baumdarstellung hoher Ebene tun. In unseren Notationen werden wir Großbuchstaben verwenden, um Verteilungsfunktionen zu bezeichnen, und Kleinbuchstaben für reguläre Funktionen und Werte verwenden.
  • Tabelle 1 veranschaulicht die fest zugeordnete Funktion M, welche die Wurzel eines Ausdrucksbaums ist, sowie auch zugeordnete Argumente, gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass die in Tabelle 1 gezeigte Wurzel und die zugeordneten Argumente nur zu veranschaulichenden Zwecken dargelegt werden und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollten. Tabelle 1
    M(B,n)
    Arg Definition
    B Bidirektionale Streuverteilungsfunktion (BSDF)
    n normaler Mapping-Vektor, Default ist die Normale
    ns
    im Renderzustand
  • Tabelle 2 veranschaulicht Verteilungsfunktionen (BSDFs) zur Verwendung in den obersten Ebenen des Ausdrucksbaums gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass die in Tabelle 2 gezeigten BSDFs nur zu veranschaulichenden Zwecken dargelegt werden und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollten. Tabelle 2
    BSDF Definition
    Elementar
    Null BSDF, das schwarz rendert.
    D(c,r) Lambertianische Reflexion erweitert
    durch
    Oren-Nayar-Mikrofacettenmodell [ON95] mit einer Farbtönung c und Rauigkeit r.
    S(c) Spiegelnde Reflexion mit einer Farbtönung c.
    G(c,ru,rv,t) Glänzende Reflexion basierend auf einem
    Mikrofacettenmodell [WMLT07] unter Verwendung einer Phong-Verteilung [AS00] und einem v-Hohlraum-Schattenterm [Hd14] mit einer Farbtönung c und anisotropischen Rauigkeit in der u-Richtung entlang der Tangente t, ru, und v-Richtung, rv. Der Phong-Verteilungsexponent wird als e=2/r2 berechnet.
    Modifikator
    T(c,B) Tönung einer BSDF B mit der Farbe c.
    Mischer
    W(w0,A0,...) Gewichtete Summe von BSDFs, wi≥0 und ∑wi≤1
    Leger
    w,A,B,n) Gewichtete Schichtung, wA+(1-w)B, und eine Normal-Map n angewandt auf oberste Schicht A
    F(i,w,A,B,n) Fresnel-Schichtung, w'A+(1-w')B wobei
    W'=w * fresnel(i) ein gewichteter, IOR-abhängiger Fresnel-Term ist, und eine Normal-Map n angewandt auf oberste Schicht A
  • Tabelle 3 veranschaulicht Argumente, die innerhalb der Verteilungsfunktionen verwendet werden, gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass die in Tabelle 3 gezeigten Argumente nur zu veranschaulichenden Zwecken dargelegt werden und nicht in irgendeiner Weise als einschränkend ausgelegt werden sollten. Tabelle 3
    Arg Definition
    c ein Farbwert zur Tönung
    r Rauigkeit im Oren-Nayar-Reflexionsgradmodell
    r Rauigkeit im Mikrofacettenmodell in der u-Richtung
    rv Rauigkeit im Mikrofacettenmodell in der v-Richtung
    t Tangentenvektor, um die u-Richtung für Anisotropie
    zu definieren
    i Brechungsindex (IOR)
    w, w0, ... skalare Gewichte in [0,1]
    A, B BSDFs
    n Normal-Vektor für lokale normale Störung
    Tabelle 4 veranschaulicht ein Beispiel-MDL-Material, das ein einfaches Putzmaterial basierend auf einer 0,7 Graufarbe für die Tönung einer diffusen BRDF definiert, gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass das in Tabelle 4 gezeigte MDL-Material nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte.
    Figure DE102017127367A1_0001
    Figure DE102017127367A1_0002
  • Tabelle 5 veranschaulicht einen beispielhaften Funktionsausdruck M, der das MDL-Material in Tabelle 4 unter Verwendung der Notationen von Tabelle 1-3 prägnant ausdrückt, gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass der in Tabelle 5 gezeigte Funktionsausdruck nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 5
    M(D(0.7, 0.0), ns)
  • In einer Ausführungsform können Transmission und mehreren exotische BSDFs, wie beispielsweise retrorefraktive oder gemessene BSDFs, gemäß den gleichen Prinzipien wie für die anderen BSDFs hinzugefügt werden.
  • An Ausdrücken Arbeitende Regeln
  • Bei Angabe eines Ausdrucks können wir Regeln definieren, um einen Term in diesem Ausdruck zu umschreiben und ihn mit einem anderen Term ersetzen. In ihrer allgemeinsten Form kann eine Regel eine Map umfassen, die ein Material M auf ein anderes Material M' abbildet. Genauer gesagt können wir eine Musterübereinstimmung verwenden, um ein bestimmtes strukturelles Teil in einem Material abzustimmen und dieses Teil durch einen anderen Ausdruck zu ersetzen. Eine derartige Regel kann nur auf ein Material anwendbar sein, wenn dieses Material einen Unterausdruck aufweist, das mit diesem Muster übereinstimmt.
  • Muster können Ausdrücke mit Verteilungsfunktionen umfassen und sie können mit einem Ausdruck übereinstimmen, wenn sein eigener Ausdruck Teil des abgestimmten Ausdrucks ist. Um universeller nützlich zu sein, können Muster ebenfalls Variablen verwenden, die mit beliebigen Unterausdrücken übereinstimmen und später in dem Ersetzungsausdruck verwendet werden können. Beispielsweise kann D(c,r) ein Muster definieren, das mit der oben definierten diffusen BSDF mit den Variablen c für die Tönungsfarbe und r für den Rauigkeitsparameter dieser BSDF übereinstimmt.
  • Das Muster F(i, w, S(c), B, n) kann mit allen spiegelnden BSDFs übereinstimmen, die über eine beliebige Basis BSDF B Fresnel geschichtet sind. Die Variablen in dem Muster können in dem Ersetzungsausdruck verwendet werden. Außerdem können wir algebraische Standardoperationen und Funktionen in dem Ersetzungsausdruck erlauben.
  • Tabelle 6 veranschaulicht eine beispielhafte Regel mit dem Muster zur linken und dem Ersetzungsausdruck zur rechten gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass die in Tabelle 6 gezeigte beispielhafte Regel nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 6
    W(w1, D(c1,r1), w2, D(c2,r2)) ↦ D(w1c1 + w2c2, w1r1 + w2r2)
  • Wie in Tabelle 6 gezeigt, kann die Regel eine Transformation implementieren, die eine gewichtete Mischung von zwei diffusen BRDFs durch ein einzige diffuse BRDF ersetzt, deren Parameter gewichtete Summen der jeweiligen Eingangsparameter sind. Diese Regel kann intuitiv richtig für die Farbparameter jedoch ungefähr für die Rauigkeitsparameter sein. Zusätzliche Regeln und Näherungen können einzelnen Regelsätzen in spezifischen Anwendungsszenarien unterliegen.
  • Eine Musterübereinstimmung kann leistungsstärker sein und kann bestimmte Parameter auf einen bestimmten Wert beschränken, der Abhängigkeiten von anderen Variablen umfasst. Tabelle 7 veranschaulicht eine Einschränkung der Regel in Tabelle 6, um nur mit diffusen BRDFs gleicher Rauigkeit r übereinzustimmen, gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass die in Tabelle 7 gezeigte beispielhafte Einschränkung nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 7
    W(w1, D(c1,r), w2, D(c2,r)) ↦ D(w1c1 + w2c2, r)
  • Wir können zusätzliche Variablen in dem Zielausdruck für eine prägnante Notation verwenden, wo benötigt, und ihre Werte später definieren. Tabelle 8 veranschaulicht eine alternative Notation für die Regeleinschränkung in Tabelle 7 gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass die in Tabelle 8 gezeigte alternative Notation nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 8
    W(w1, D(c1,r), w2, D(c2,r)) ↦ D(c',r), where c' = w1c1 + w2c2
  • Im Allgemeinen kann man dieses Schema auf mehrere Muster erweitern. Ein wichtiger Fall kann die mögliche Zusammenwirkung von Teilen des Materialmodells, wie beispielsweise Normal-Maps, mit Teilen der BSDFs, ähnlich den lokalen Normal-Maps der Schichtung BSDFs, umfassen. Da die Materialmodellfunktion (M) immer die Wurzel des Ausdrucksbaums sein kann, können wir die Notation der Übereinstimmung (M) vereinfachen und können Regeln ermöglichen, direkte Verwendung von allen Argumenten von (M) zu machen, die in diesem Fall n ist, was die Zuweisung neuer Ausdrücke zu ihnen umfasst.
  • Beispielsweise können wir die lokale Normal-Map einer gewichteten Schichtung zu der globalen Normal-Map unter Wahrung des Gewichts der Schicht bewegen. Beachte, dass ns die Oberflächennormale im Renderzustand und der Default für die Normal-Map ist. Wir können dieser Regel eine zusätzliche Vorbedingung geben, die nur Anwendung findet, wenn n1 ≠ ns, was eine Optimierung, die idempotente Transformationen vermeidet, in diesem Fall sein kann.
  • Tabelle 9 veranschaulicht diese Normal-Map-Bewegung und Vorbedingung gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass die in Tabelle 9 gezeigte Normal-Map-Bewegung nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 9
    L(w, A, B, n1) ↦ L(w, A, B, ns), n ↦ fn(1, n, w, n1), if n1 ≠ ns
  • In einer Ausführungsform kann, wie in Tabelle 9 gezeigt, fn(w1; n1, ...) eine Funktion umfassen, die Normal-Maps gemäß Gewichten skaliert und sie zusammen vermischt. Tabelle 10 veranschaulicht einen Fall mit zwei Normalen gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass der in Tabelle 10 gezeigte Fall mit zwei Normalen nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 10
    fn(w1, n1, w2, n2) = normalize(ns + w1(n1 - ns) + w2(n2 - ns))
  • Termumschreibsystem als ein Detaillierungsgradschema
  • Bei Angabe eines Satzes R von Termumschreibregeln kann es eine Frage hinsichtlich dessen geben, welche Reihenfolge-Übereinstimmungsregeln in dem Fall angewandt werden, in dem mehrere Regeln zur gleichen Zeit anwendbar sind. Diese Frage ist in zwei Kontexten wichtig: Korrektheit und Wirkungsgrad. Für Korrektheitseigenschaften, wie beispielsweise einen Abschlussnachweis oder dass ein Regelsystem immer Ergebnisse in einem spezifischen Standardmaterialmodell, kann ein Nachweis unabhängig von der Regelanwendungsreihenfolge möglich sein. Ein derartiges Regelsystem wird konfluent genannt. Dieses kann dann dazu verwendet werden, um effiziente Auswertungsreihenfolgen zu implementieren, ohne Korrektheit zu beeinflussen. Komplexere Regelsysteme und ihrer gewünschten Eigenschaften können eine besser gesteuerte Ordnung benötigen. Einige Möglichkeiten sind nachstehend aufgelistet.
  • Mehrere Regelsätze
  • Ein System kann mehrere Regelsätze in Folge verwenden. Zuerst angewandte Regelsätze können Invarianten festlegen, auf die sich Regelsätze später stützen können, wie beispielsweise die Beseitigung einer spezifischen BSDF.
  • Rekursive Anwendung von Regelsätzen
  • Ein System mit mehreren Regelsätzen, die in Folge ausgeführt werden. Spätere Regeln können jedoch Elemente erneut einführen, die erfordern, dass ein früherer Regelsatz typischerweise in einer rekursiven Art und Weise auf einem Unterbaum wieder angewandt wird. Regeln eine Priorität zu geben und Regeln höherer Priorität immer zuerst auszuführen, kann eine Version dieses Schemas sein.
  • Vor-Order-Durchquerung
  • Der Ausdrucksbaum kann in einer Tiefe zuerst und z.B. in einer links nach rechts Reihenfolge rekursiv durchquert werden. Regeln können gegenüber dem aktuellen Knoten abgestimmt und auf diesen angewandt werden. Nach der Regelanwendung können Unterausdrücke rekursiv durchquert werden. Diese Auswertungsreihenfolge kann nützlich sein, um eine bestimmte Eigenschaft von oben nach unten in dem Baum zu etablieren.
  • Post-Order-Durchquerung
  • Der Ausdrucksbaum kann in einer Tiefe zuerst und z.B. in einer links nach rechts Reihenfolge rekursiv durchquert werden. Regeln können nur gegenüber dem aktuellen Knoten abgestimmt werden, nachdem alle seine Unterausdrücke rekursiv durchquert wurden. Diese Auswertungsreihenfolge kann nützlich sein, um eine bestimmtes Eigenschaft von unten nach oben in dem Baum zu etablieren.
  • Abschließende Aufzählung
  • Alle Übereinstimmungsregeln können als unterschiedliche Alternativen angewandt werden, wobei alle Möglichkeiten von Ergebnissen erforscht werden, die mit diesem Regelsystem erreicht werden können. Diese abschließende Aufzählung aller Materialien, die man von einem eingegebenen Material herleiten kann, kann einem ermöglichen, das beste Material gemäß einem willkürlichen Optimalitätskriterium auszuwählen. Für typische Materialien kann die oberste Ebene des Ausdrucksbaums und die Anzahl von anwendbaren Regeln kleiner sein, so dass diese Vorgehensweise in diesem Fall verwendet werden kann.
  • Teilweise Aufzählung
  • Anstelle der abschließenden Aufzählung, kann man die Aufzählung auf eine Untermenge mit Strategien lenken, wie beispielsweise einer gierigen Auswahl der besten Regel oder einem Satz von Regeln oder einer A*-Suche, um Suchraum zu beschneiden.
  • Die Anwendung einer Regel nach der anderen von einem Regelsatz R auf einen Materialausdruck M erzeugt eine Folge von Materialien M1 bis Mn. Für ein praktisches System können wir wollen, dass dieser Prozess endet. Ein derartiges Regelsystem kann dann einen Materialausdruck M in einen endgültigen Ausdruck M' verringern. Für ein konfluentes Regelsystem kann M' ungeachtet der Reihenfolge von Regelanwendungen einmalig sein.
  • Tabelle 11 veranschaulicht diese Herleitungskette gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass die in Tabelle 11 gezeigte Herleitungskette nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 11
    M = M 1 R M 2 R ... R M n = M '
    Figure DE102017127367A1_0003
  • Wir können ein Regelsystem mit dem Ziel vor Augen ausgestalten, dass der resultierende endgültige Ausdruck M' eine besondere Eigenschaft oder Invariante erfüllt. Wir können ebenfalls ein Regelsystem mit dem Ziel vor Augen ausgestalten, dass die gesamte Folge von Materialausdrücken M1 bis Mn oder eine Unterfolge davon eine besondere Eigenschaft erfüllt, so dass jedes Material eine Vereinfachung seines vorangehenden Materials ist.
  • Geeignete Regelsysteme können daher ein einfaches und effizientes Mittel sein, um ein Detaillierungsgrad-Material oder eine gesamte Folge von Detaillierungsgrad-Materialien in einem Prozess zu erzeugen. Wir können jeder Regel Kosten zuordnen, die den Näherungsfehler quantifiziert, und wir können eine erschöpfende oder teilweise Aufzählung verwenden, um Herleitungsketten oder endgültige Ergebnisse zu erzeugen, wobei die Aggregierung von Kosten entlang der Herleitungskette minimal ist, d.h. die Vereinfachung verursacht den geringst möglichen Näherungsfehler. Die Kosten können selbst annähernd sein und von tatsächlichen Parameterwerten des aktuellen Ausdrucks, die mit der Regel übereinstimmen, abhängig sein.
  • Tabelle 12 veranschaulicht ein Regelsystem RTönung, das alle Tönungsmodifikatoren T(c,B) von Materialausdrücken durch Drücken der Tönungsfarbe c von den BSDFs zu der regulären Funktionenebene entfernen kann, gemäß einer Ausführungsform. Beispielsweise kann eine Tönung einer diffusen BSDF äquivalent zu einer diffusen BRDF sein, wobei die Tönungsfarbe in ihrem Tönungsparameter einbezogen ist. Natürlich sollte beachtet werden, dass das in Tabelle 12 gezeigte Regelsystem nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 12
    R tint = { T ( c ,0 ) 0, T ( c 1 , D ( c 2 , r ) ) D ( c 1 c 2 , r ) , T ( c 1 , S ( c 2 ) ) S ( c 1 c 2 ) , T ( c 1 , G ( c 2 , r u , r v , t ) ) G ( c 1 c 2 , r u , r v , t ) , T ( c 1 , T ( c 2 , A ) ) T ( c 1 c 2 , A ) , T ( c , W ( w 1 , A 1 ,... ) ) W ( w 1 , T ( c , A 1 ) ,... ) , T ( c , L ( w , A , B , n ) ) L ( w , T ( c , A ) , T ( c , B ) , n ) , T ( c , F ( i , w , A , B , n ) ) F ( i , w , T ( c , A ) , T ( c , B ) , n ) }
    Figure DE102017127367A1_0004
  • Dieses Regelsystem kann ein Beispiel eines konfluenten Regelsystems sein. Unabhängig von der Reihenfolge einer Regelanwendung können alle Tönungsfarben enden, um mit dem Tönungsparameter von elementaren BSDFs multipliziert zu werden. Eine effiziente Auswertungsstrategie kann eine Vor-Order-Durchquerung sein, welche die Tönungsmodifikatoren von oben nach unten drückt, wobei sie verschwinden. Der Nachweis der Korrektheit und des Abschlusses ist von der Aufzählung des vollständigen Falls aller BSDFs als Argumente des Tönungsmodifikators offensichtlich, d.h. solange wie ein Tönungsmodifikator in dem Materialausdruck ist, können wir eine übereinstimmende Regel finden und jede Regelanwendung macht Fortschritt beim Schieben des Tönungsmodifikator zu einem Blatt oder beseitigt ihn an einem Blatt.
  • Tabelle 13 veranschaulicht ein systemisches Verfahren zum Finden geeigneter Regeln gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass das in Tabelle 13 gezeigte Verfahren nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 13
    Wir definieren die abschließenden Ausdrücke, d.h. jene, die sich nicht weiter vereinfachen sollten.
    Für jeden möglichen Knotentyp, z.B. allen BSDFs,
    erzeugen wir übereinstimmende Muster, wobei wir alle möglichen Kombinationen aufzählen, wie sich die abschließenden Ausdrücke in den Parametern des Knotentyps zeigen können.
    Wir beseitigen von diesen Mustern jene, die gleich
    den abschließenden Ausdrücken von Schritt 1 sind.
    Für jedes der verbleibenden Muster wählen wir einen
    Ersetzungsausdruck von der Liste der abschließenden Ausdrücke und definieren die Argumente des Ersetzungsausdrucks basierend auf Argumenten der Übereinstimmung.
  • Es kann viele Wege geben, um geeignete Regeln zu finden. Das in Tabelle 13 gezeigte Verfahren kann induktiv sein und kann auf vollständiger Aufzählung in einer Weise basieren, die eine effiziente unten nach oben Nach-Order-Durchquerungauswertung und einen einfachen Nachweis von Korrektheit ermöglicht.
  • Diese systematische Vorgehensweise kann das Problem eines Findens eines geeigneten Regelsatzes auf die kleineren Probleme eines Definierens geeigneter Ziele und Definierens bester Ersetzungen für den systematisch definierten Regelsatz verringern. Diese Verringerung auf eine einzige Regel, wo das Muster ziemlich spezifisch ist, kann eine einfachere und konzentrierte Begründung dessen ermöglichen, was ein guter Zielausdruck ist und was die besten Argumente sein würden. Die nachstehenden Beispiele wenden diese Vorgehensweise an.
  • Varianten und Erweiterungen
  • Eine hier beschriebene Idee ist, den Rahmen eines Material als ein semantisch spezifizierter Ausdruck darzustellen, und ein Termumschreibsystems anzuwenden, um einen endgültigen Ausdruck oder eine Folge von Ausdrücken auf dem Weg zum endgültigen Ausdruck zu erzeugen. Das folgenden beschreibt Varianten und Erweiterungen zu diesem Prinzip.
  • Azyklische Graphen
  • Die Ausdrucksbäume, die verwendet werden, um ein Material zu definieren, können auf eine azyklische Graphendarstellung erweitert werden, in dem eine Art und Weise ermöglicht wird, einem Unterausdruck einen Namen zu geben und diese Namen anstelle von Ausdrücken in anderen Stellen zu verwenden. Zyklen können in dieser Darstellung verhindert werden und können beispielsweise mit einer Definition-vor-Gebrauch-Einschränkung auf diese Namen ausgeschlossen werden, ohne an Allgemeinheit zu verlieren.
  • Materialklassen
  • Materialausdrücke können vollständig mit Werten für jeden Parameter definiert werden. Materialdefinitionen in MDL (alias Materialklassen) können einem Benutzer jedoch ermöglichen, Materialien mit zusätzlichen Parametern zu programmieren, die nicht spezifiziert hinterlassen wurden, bis ein Benutzer dieses Materials Werte für diese Parameter später bereitstellt, wobei Erzeugen eine Materialinstanz von der Materialklasse erzeugt wird. Regelsysteme können ohne Weiteres auf Materialausdrücke angewandt werden, die Platzhalter für noch nicht spezifizierte Parameter umfassen. Wenn eine Parametervariable beispielsweise eine Verteilungsfunktion ist, könnten sie nicht so wirksam sein. Eine wirksame Lösung kann Materialklassen einschränken, nur Variablen für Knoten aufzuweisen, die keine Verteilungsfunktion sind.
  • Auswerten generischer Funktionen
  • Beim Arbeiten mit Materialinstanzen können wir die Argumente in dem Ausdrucksbaum auswerten und diese Information in Regeln verwenden. Beispielsweise könnte eine Regel eine BSDF in einem Mixer oder Leger entfernen, wenn ihr Gewicht unterhalb einer bestimmten Schwelle ist. Wir können gleichbleibende Argumente vollständig auswerten, bevor Rendering startet. Für veränderliche Argumente, wie beispielsweise Ausdrücke mit prozeduralen oder Bitmap-Texturen, können wir die Domain abtasten, um einen repräsentativen Wert zu erhalten, oder Intervallarithmetik verwenden, um Schranken an einem möglichen Wertebereich zu erhalten und diese zur Entscheidungsfindung verwenden. Siehe beispielsweise „Automatic bounding of programmable shaders for efficient global illumination“ (Velazquez-Armendariz et al.), das hiermit durch Bezugnahme in seiner Gesamtheit aufgenommen ist.
  • Benutzeranmerkungen
  • Das System kann erweitert werden, um Anmerkungen aufzunehmen, die MDL-Materialautoren oder Benutzer in dem Material lassen können, und welche die Regeln in der Übereinstimmung verwenden können. Derartige Anmerkungen können beispielsweise einen Hinweis geben, welche BSDF bedeutender als eine andere BSDF ist. Eine spezifische Anmerkung kann lediglich einen Fließkommawert als ein Bedeutungsgewicht an jeder BSDF hinzufügen. Eine Regel kann dieses Gewicht als ein zusätzliches Argument in jeder BSDF sehen und es verwenden, um zu entscheiden, welche BSDF zu behalten und welche wegzuwerfen ist.
  • In einer Ausführungsform kann das System erweitert werden, um Metadaten aufzunehmen, die einem Material zugeordnet sind, das Materialautoren oder Benutzer für das Material definieren können und welche die Regeln in der Übereinstimmung verwenden können. Derartige Metadaten können in einem Material in der Form von Anmerkungen umfasst sein.
  • Regeln über generische Funktionen
  • Ähnliche Ersetzungsregeln können definiert und auf generische Funktionen angewandt werden, wenn diese Funktionen eine spezifizierte Semantik aufweisen. Kandidaten könnten Standardbibliotheken beispielsweise für Textur-Lookups und Transformationen sein, wo ein Regelsystem erdacht werden könnte, um komplexe Texturnetzwerke in eine effizientere kanonische Texturverarbeitungs-Pipeline zu transformieren.
  • Vereinheitlichung
  • Der Musterübereinstimmungsteil des Regelsystems kann erweitert werden, um mehrere Muster zur gleichen Zeit abzugleichen und dann den vom Prolog bekannten den Vereinheitlichungsalgorithmus zu verwenden, um Variablen zu binden.
  • Neben diese Varianten und Erweiterungen zu dem Grundrahmen ist erwähnenswert, dass andere um die Materialvereinfachung existierenden Ideen in diesen Rahmen integriert werden können, die beispielsweise zu Regeln mit hohen Näherungsqualitäten führen. Einige Beispiele werden nachstehend gezeigt.
  • Annähern von Bump-Maps durch Rauigkeits-Maps
  • Eine Regel kann die Bump-Map eines Materials durch eine geeignete Rauigkeits-Map der jeweiligen Material-BSDF, wie beispielsweise eine glänzende BSDF, ersetzen.
  • Annäherung von Autolackflocken durch glänzendes Fernfeldaussehen
  • Ein Autolack mit Flocken kann durch eine glänzende BSDF angenähert werden, die mit einem Fernfeldaussehen der Flocken übereinstimmt.
  • Prozedurale mehrskalige Materialien
  • Ein prozedurales Shading-Modell kann zur Echtzeit-LOD-Auswertung verwendet werden. Siehe beispielsweise „Real-time rendering of procedural multiscale materials“ (Zirr et al.), das hiermit durch Bezugnahme in seiner Gesamtheit aufgenommen ist. Ideen von diesem Modell können verwendet werden, um ein komplexes hochdetailliertes Material mit einem einfacheren niedrigdetailliertem Fernfeldmaterial statisch zu ersetzen.
  • Textur-Backen
  • Der obige Rahmen kann nahelegen, dass die Komplexität in dem deklarativen Teil des Materialausdrucks, den Verteilungsfunktionen, mit Regeln und möglicherweise auf Kosten des Hinzufügens von Komplexität zu den regulären Funktionen Teil des Materialausdrucks vereinfacht wird. Abhängig von dem Ziel und dem spezifischen Regelsystem kann dies beispielswese ausreichend sein, wenn der Zielausführungskontext programmierbare Funktionen berücksichtigt.
  • In anderen Kontexten kann dies jedoch nicht ausreichend sein. Wir erläutern in diesem Abschnitt kurz die Option, Textur-Backen als komplementäre Technik zu verwenden, um unseren Rahmen zu vergrößern. Man beachte ebenfalls, dass die Verwendung von Textur-Backen orthogonal zu diesem Rahmen ist, der mit oder ohne Backen ohne Änderung verwendet werden kann.
  • Wenn wir den deklarativen Teil des Materialausdrucks entfernen, bleibt uns ein Wald, ein Satz von Bäumen, wobei jeder Baum einen Wert für einen Parameter des deklarativen Teils bereitstellt. Jeder Baum kann nun in seiner eigenen Textur gebacken werden. Ein Backen kann den Unterausdruck an geeigneten Einstellungen des Renderzustands auswerten, wie beispielsweise uv-Koordinaten oder Objektraum-Koordinaten, wenn Projektoren eine Rolle spielen, und das Ergebnis in einer Textur speichern. Ein Backlösung kann von der Komplexität und Cleverness der benutzten Heuristik abhängen und möglicherweise mit der Benutzersteuerung verstärkt werden, um Größe und Auflösungen von Texturen auszuwählen.
  • Systemintegrationen
  • Eine Integration dieses Rahmens kann verschiedene Teile umfassen. Einige Teile weisen eine Vielfalt von Wahlmöglichkeiten auf, wie sie in einem bestimmten System realisiert werden. 2 zeigt eine beispielhafte Umgebung 200 zum Implementieren eines Detaillierungsgrad-Rahmens gemäß einer Ausführungsform.
  • Wie gezeigt, umfasst die Umgebung 200 einen Ausdrucksbaum oder DAG in einem deklarativen Materialmodell 202, das in einen Laufzeitplaner 212 eingegeben wird. In einer Ausführungsform kann das Materialmodell 202 eine ausreichend formal definierte, deklarative Darstellung umfassen, die als ein Baum oder DAG ausgedrückt werden kann. In einer anderen Ausführungsform kann der Laufzeitplaner 212 Regelsätze 214 auf das deklarative Materialmodell 202 in einem Ausführungsrahmen 204 anwenden. Der Laufzeitplaner 212 kann die Ausführungsstrategie hoher Ebene verwalten, bei der Reihenfolgeregelsätze und einzelne Regeln auf Übereinstimmung geprüft und ausgeführt werden.
  • Zusätzlich kann der Ausführungsrahmen 204 verwendet werden, um Regeln 214 auf Materialausdrücke 202 anzuwenden. Dies kann eine kundenspezifische Lösung für einen spezifischen Satz von Regeln oder ein generischer Rahmen sein, der unterschiedliche Regelsätze erlauben würde. Wie gezeigt, können die Regelsätze bis zu späterer kundenspezifischen Anpassung bei Anwendungen und als für Endbenutzer zugängliches Merkmal flexibel geändert werden.
  • Ferner können die Regelsätze 214 einen Satz von Regeln umfassen, die eine gewünschte Wirkung erzielen. In einer Ausführungsform können die Regelsätze 214 Verringerungen zu festen Materialmodellen erzielen. Die Regeln innerhalb der Regelsätze 214 können eine Näherung des Materials implizieren, die eine Beurteilung umfassen kann, für was zu optimieren ist. Diese Beurteilungen können verzögert werden, in dem sie Parameter der Regeln gemacht werden und den Benutzern des Regelsatz die Wahl geben, diese Parameter einzustellen.
  • Weiterhin werden Regelsätze, die in einer domainspezifischen Sprache 208 definiert sind, unter Ausnutzung eines Regelübersetzers 210 übersetzt und innerhalb des Satzes von Regeln 214 gespeichert. In einer Ausführungsform können die Regelsätze, die in der domainspezifischen Sprache 208 definiert sind, unter Ausnutzung einer Notation erzeugt werden, um Regeln und ihre Wirkung zu definieren. Dies kann von einer Implementierung der Regeln im Ausführungsrahmen selbst reichen und kann eine exponierte Anwendungsprogrammschnittstelle (API) umfassen, um Entwicklern zu ermöglichen, Regeln unabhängig von dem Ausführungsrahmen zu implementieren, und kann sogar eine domainspezifische Sprache (DSL) sein, um Benutzern zu ermöglichen, ihre eigenen Regeln zu entwickeln oder existierende Regelsätze zu verwalten.
  • Der Regelübersetzer 210 macht ebenfalls Regeln, die mit dem Ausführungsrahmen ausführbar sind. Diese können den Compiler der nativen Anwendung für eine API-Vorgehensweise oder einen kundenspezifischen Compiler für eine DSL-Vorgehensweise umfassen.
  • Außerdem umfasst die Umgebung 200 einen Textur-Baker 206, der gebackene Konstanten 216 und gebackene Texturen 218 umfasst. In einer Ausführungsform kann Textur-Backen oder Laufzeitausführung verwendet werden, um generische Funktionsausdrücke zu handhaben. Ihre Implementierung und Qualität kann orthogonal zu dem Rahmen der Umgebung 200 sein.
  • Ferner gibt nach Anwendung der Regelsätze 214 auf die Materialausdrücke 202 der Laufzeitplaner 212 einen Ausdrucksbaum oder DAG eines Zielmaterialmodells 220 aus.
  • 3 veranschaulicht eine andere beispielhafte Umgebung 300 zum Implementieren eines Detaillierungsgrad-Rahmens mit eingebauten Regeln gemäß einer Ausführungsform. Wie gezeigt, umfasst die Umgebung 300 einen Ausdrucksbaum oder DAG in einem deklarativen Materialmodell 202, das in einem Materialvereinfacher 302 eingegeben wird. Der Materialvereinfacher 302 umfasst den Laufzeitplaner 212 sowie auch die Regelsätze 214 und den Ausführungsrahmen 204.
  • Nach Anwenden der Regelsätze 214 auf die Materialausdrücke 202 in dem Ausführungsrahmen 204 gibt der Laufzeitplaner 212 einen Ausdrucksbaum oder DAG eines Zielmaterialmodells 220 aus. Die Umgebung 300 umfasst ebenfalls den Textur-Baker 206, der gebackene Konstanten 216 und gebackene Texturen 218 umfasst.
  • Auf diese Weise können der Laufzeitplaner 212, die Regelsätze 214 und der Ausführungsrahmen 204 alle innerhalb des Materialvereinfachers 302 aufgenommen sein, der ein monolithisches System bilden kann.
  • Ergebnisse für Beispielregelsysteme
  • In einer Ausführungsform können wir Beispielregelsätze definieren, ihre Eigenschaften erläutern und bestimmen, wie sie auf einem größeren Satz von Materialdefinitionen funktionieren.
  • Ein Regelsystem kann jedes Material auf eine einzige diffuse BRDF mit einer Textur für seine Tönungsfarbe verringern. Dies kann ein nützliches Ziel für einen Material-Detaillierungsgrad sein und kann als eine erste Näherung beim Bearbeiten von Darstellungsfeldern verwendet werden, wo Anwendungen nicht viel Flexibilität beim Zeigen von Materialien aufweisen können.
  • Lokale Normal-Maps können eine Rolle für das Aussehen von verschiedene Materialien spielen. Wir können ein Regelsystem entwickeln, um lokale Normal-Maps in eine genäherte globale Normal-Map zu aggregieren.
  • Ein anderes Regelsystem kann jedes Material auf eine Art eines dielektrischen Materials, eine Fresnel-geschichtete glänzende BRDF über eine diffuse BRDF verringern. Dies kann ein Zwischenschritt in einer Detaillierungsgrad-Darstellung sein. Außerdem kann dieser Rahmen auf ein derartiges Material beispielsweise in einer Spielmaschine oder anderen Anwendungen gerichtet sein, die ein festes Materialmodell über ein programmierbares bevorzugen.
  • Verringerung auf eine Einzige Diffuse BRDF
  • In einer Ausführungsform können wir ein Material in einer einzigen diffusen BSDF mit dem folgenden Regelsatz in einer Post-Order-Durchquerung vereinfachen. Als eine Voraussetzung können wir das Regelsystem RTönung zuerst ausführen, um alle Tönungsmodifikatoren zu beseitigen.
  • Tabelle 14 veranschaulicht einen Regelsatz für die Verringerung in eine einzige diffuse BRDF gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass der in Tabelle 14 gezeigte Regelsatz nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 14
    R diff = { 0 D ( 0.0,0.0 ) S ( c ) D ( c ,0.0 ) G ( c , r u , r v , t ) D ( c ,0.0 ) W ( w , D ( c , r ) ) D ( w c , r ) W ( w 1 , D ( c 1 , r 1 ) ,... )   D ( w 1 c 1 + ..., f dr ( w 1 , r 1 ,... ) ) L ( w , D ( c 1 , r 1 ) , D ( c 2 , r 2 ) , n )   W ( w , D ( c 1 , r 1 ) ,1 w , D ( c 2 , r 2 ) )   D ( w c 1 + ( 1 w ) c 2 , f dr ( r 1 , r 2 ) ) F ( i , w , D ( c 1 , r 1 ) , D ( c 2 , r 2 ) , n )   L ( f F ( i ) w , D ( c 1 , r 1 ) , D ( c 2 , r 2 ) , n )   D ( f F ( i ) w c 1 + ( 1 f F ( i ) w ) c 2 , f dr ( r 1 , r 2 ) ) }
    Figure DE102017127367A1_0005
  • In einer Ausführungsform kann fdr eine geeignete Funktion umfassen, um die diffusen Rauigkeitswerte zu vermischen, und fF kann eine geeignete Funktion dahingehend umfassen, wie viel wir von der Fresnel-geschichtete oberste BSDF in die Basisschicht mischen wollen, die von dem IOR-Wert i der Schichtung abhängen kann.
  • Die Funktion fdr kann beispielsweise der maximale Rauigkeitswert oder eine affine gewichtete Summe wie für die Farbwerte sein.
  • Die Funktion fF kann die Reflektivität des Fresnel-Terms in normaler Richtung, z.B. 0,04 für einen typischen IOR von 1,5 sein. Dies kann ein geeigneter Wert sein, wenn argumentiert wird, dass uns typischerweise große Teile eines Objekts gegenüberliegen und lediglich ein kleiner Bruchteil unter Blickwinkeln betrachtet wird. Wenn das Ziel jedoch nicht eine Näherung des besten Aussehens ist, sondern ob alle Merkmale sichtbar sind, können wir diesen Wert größer machen wollen, so dass mögliche Texturierungseffekte in der obersten Schicht erkennbar bleiben. Ein Default in nachstehenden Experimenten kann einen konstanten Wert von 0,1 umfassen.
  • Korrektheit: Es sei denn, dass der Ausdruck aus einer einzigen diffusen BRDF besteht, gibt es immer eine Regel, die übereinstimmt. Dies basiert auf der vollständigen Aufzählung aller Fälle von BSDFs unter Ausschluss des abschließenden Ausdrucks (der diffusen BSDF). Durch Induktion von unten nach oben ist es ferner für eine BSDF mit anderen BSDFs als Argumente ausreichend, wenn das übereinstimmenden Muster gerade mit der abschließenden diffusen BSDF für diese Argumente übereinstimmt.
  • Das Regelsystem endet mit einer endlichen Anzahl von Schritten (und resultiert dann in der einzigen diffusen BRDF). Wir legen mit eine ganzzahligen Kostenfunktion dar, welche die Summe aller Kostenwerte ist, die wir jedem BSDF-Knoten zuordnen: 0, S und G Knoten kosten zwei und D, W, L und F Knoten kosten eins. Ein Materialausdruck weist somit ganzzahlige Kosten auf, die linear in der Anzahl von Knoten sind. Die Kosten sind größer oder gleich eins und nur eins, wenn er eine einzige diffuse BRDF ist. Jede Regelanwendung verringert die Kosten um wenigstens eins. Nach einer linearen Anzahl von Regelanwendungen erreichen wir den abschließenden Fall.
  • Die Post-Order-Durchquerung kann in einer effizienten Auswertung dieses Regelsystem mit seiner Anwendung von Regeln von unten nach oben resultieren.
  • Handhabung einer Lokalen Normal-Map
  • Der Regelsatz Rdiff in dem vorigen Abschnitt kann die lokalen Normal-Maps n der jeweiligen Regeln ignorieren, die gewichtete Schichtung (L(...)) und Fresnel-Schichtung (F(...)) abstimmen. Stattdessen können wir die lokale Normal-Map zu der globalen Normal-Map unter Wahrung der Gewichte transferieren, welche die Schicht mit der lokalen Normal-Map beeinflussen.
  • Wir können dies durch Einführen einer neuen Verteilungsfunktion N erzielen, die eine Art von Platzhalter ist, die nur die aktuelle lokale Normal-Map n: N(n) darstellt.
  • Wir können dann ein ähnliches Regelsystem wie für das diffuse Zielmaterial verwenden, das die lokalen Normal-Maps auf ein einzige am besten von unten nach oben in einer Post-Order-Durchquerung aggregiert. Man beachte, dass ns die Default-Shading-Normale im Renderzustand sein kann und fn (w1, n1, .. .) eine Funktion umfassen kann, die Normal-Maps gemäß Gewichten skaliert und sie zusammen mischt.
  • Tabelle 15 veranschaulicht einen Regelsatz zum Handhaben einer lokalen Normal-Map gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass der in Tabelle 15 gezeigte Regelsatz nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 15
    R norm = { 0 N ( n s ) , D ( c , r ) N ( n s ) , S ( c ) N ( n s ) , G ( c , r u , r v , t ) N ( n s ) , W ( w 1 , N ( n 1 ) ,... ) N ( f n ( w 1 , n 1 ,... ) ) , L ( w , N ( n 1 ) , N ( n 2 ) , n ) N ( f n ( w , n ,1 w , n 2 ) ) , F ( i , w , N ( n 1 ) , N ( n 2 ) , n ) N ( f n ( f F ( i ) w , n ,1 f F ( i ) w , n 2 ) }
    Figure DE102017127367A1_0006
  • Das Ergebnis des Anwendens der Regeln in 15 kann ein einzige lokale Normal-Map umfassen, die mit der globalen Normal-Map des Materialmodells kombiniert werden kann. Man beachte, dass das Verhalten der Schichtung BSDFs in MDL sich von dem unterscheiden kann, was ist in Rnorm codiert ist, wenn mehrere Leger verschachtelt sind.
  • Das System ist schnell für praktische Materialkomplexitäten und kann in Echtzeit-Bearbeitungskontexten benutzt werden, um an Materialinstanzen zu arbeiten. Es kann die Lücke zwischen einem reichen Materialmodell und den festen Materialmodellen überbrücken, die in Spielmaschinen und beim Bearbeiten von Darstellungfeldern üblich sind.
  • Termumschreibung für Materialien - Algebraische Erläuterung
  • Die deklarative Definition des Verteilungsfunktionsteils eines physikalisch basierten Materialmodells kann als ein Ausdrucksbaum in einer Algebra dargestellt werden, die aus allen in der Sprache spezifizierten Verteilungsfunktionen und den Operationen besteht, um sie zu kombinieren. Argumentwerte für die Verteilungsfunktionsparameter können durch literale Werte und Funktionsaufruf-Graphen bestimmt werden. Gerichtete azyklische Aufrufgraphen können gehandhabt werden, in dem sie in einen Baum entrollt werden.
  • Eine Regel für ein Termumschreibungssystem kann aus einem Muster, das einem Unterausdruck in dem deklarativen Teil des Ausdrucksbaums entsprechen kann, und einem Ersetzungsausdruck bestehen. Tabelle 16 veranschaulicht eine beispielhafte Regel gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass der in Tabelle 16 gezeigte Regelsatz nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 16
    mix(w1, diff(c1), w2,diff(c2)) ↦ diff(w1c1 + w2c2)
  • Die Regel in Tabelle 16 kann ein einfaches Beispiel für ein Muster umfassen, das einer gewichteten Mischung aus zwei gefärbten diffusen Verteilungsfunktionen entsprechen kann und das mit einer einzigen diffusen Verteilungsfunktion mit gewichteten Farbargumenten ersetz werden kann.
  • Tabelle 17 veranschaulicht eine beispielhafte Anwendung von Regeln auf Materialausdrücke gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass die in Tabelle 17 gezeigte Anwendung nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 17
    M 1 R M 2 R R M n
    Figure DE102017127367A1_0007
  • Wie in Tabelle 17 gezeigt, werden durch Angeben eines geeigneten Satzes ℜ von Regeln und Anwenden einer Regel nach der anderen auf einen Anfangsmaterialausdruck M1 eine Folge von Materialien erzeugt, wobei, wenn ein Abschluss angenommen wird, M1 durch ℜ auf einen endgültigen Ausdruck Mn verringert wird. Die Termumschreibung kann ein einfaches und effizientes Mittel sein, um ein vereinfachtes Material Mn oder eine gesamte Folge <Ml> für eine in einem Prozess erzeugte Detaillierungsgrad-Darstellung zu erzeugen.
  • Erzeugen Geeigneter Sätze von Umschreibregeln - Algebraische Erläuterung
  • Wichtige Fragen für ein Termumschreibsystem und seinem Satz von Regeln können Abschluss, Konfluenz (z.B. existiert eine eindeutige normale Form, wo keine Regel länger Anwendung findet) und Laufzeiteffizienz umfassen. Auswertungsstrategien für effiziente System können von oben nach unten oder von unten nach oben sein.
  • Insbesondere kann eine Auswertungsstrategie von unten nach oben zu einem systematischen Prozess des Herleitens eines Regelsatzes führen, dessen Korrektheit ohne Weiteres durch Induktion folgt. Wir starten durch Definieren der normalen Formen, die Endzustände in der systematischen Herleitungskette sind, wie beispielsweise ein einziges diffuses Material oder ein verwendetes Materialmodell.
  • Tabelle 18 veranschaulicht einen beispielhaften Prozess, um ein Regelsystem herzuleiten, gemäß einer Ausführungsform. Natürlich sollte beachtet werden, dass der in Tabelle 18 gezeigte Prozess nur zu veranschaulichenden Zwecken dargelegt wird und somit nicht in irgendeiner Art und Weise als einschränkend ausgelegt werden sollte. Tabelle 18
    1. Den Satz der Ausdrücke der normalen Form N definieren.
    2. Für alle Verteilungsfunktionen D der Sprache und Kombinationen, wie normale Formen als Argumente für die Parameter von D verwendet werden können, ein übereinstimmendes Muster erzeugen.
    3. Muster beseitigen, die gleich einer normalen Form in N sind.
    4. Für jedes der verbleibenden Muster eine normale Form von N wählen, die ein guter Ersetzungsausdruck ist, und ihre Argumente basierend auf Argumenten der Übereinstimmung definieren. Die Wahl der normalen Form und ihrer Argumente kann Näherungen einführen und Raum für Optimierungen geben.
  • Regeln können, ähnlich dem Beispiel oben in Tabelle 18, die Komplexität von dem deklarativen Ausdruck zu dem regulären Funktionsaufruf-Graphen transferieren. Andere Regeln könnten die Gesamtkomplexität absenken, in dem nur Teile mit dem höchsten Gewicht aufgegriffen werden. Die Funktionsaufruf-Graphenkomplexität kann ferner mit der komplementären und orthogonalen Technik des Textur-Backens verringert werden, d.h. Auswerten von Funktions-Teilgraphen über eine geeignete Domain und Ersetzen der Teilgraphen mit einem einfachen Bitmap-Textur-Lookup. Regeln können mit teilweiser Auswertung ergänzt werden, wobei Funktionen zur Vereinfachungszeit ausgewertet oder abgetastet werden.
  • Der resultierende Wert kann Regelverhalten steuern oder zur Verwendung bei Renderzeit gebacken werden. Die hier vorgestellten Ideen finden analog auf alle Arten von Verteilungsfunktionen, wie beispielsweise für Transmission, Emission, Volumeneffekte, sowie auch andere Teile eines Materials, wie beispielsweise Normal-Maps, und allgemeinen Funktionsaufruf-Graphen Anwendung, unter der Annahme, dass ihre Komponenten als Algebra spezifiziert sind.
  • 4 veranschaulicht ein beispielhaftes System 400, in dem die verschiedene Architektur und/oder Funktionalität der verschiedenen vorhergehenden Ausführungsformen implementiert werden können. Wie gezeigt, wird ein System 400 bereitgestellt, das mindestens einen zentralen Prozessor 401 umfasst, der mit einem Kommunikationsbus 402 verbunden ist. Der Kommunikationsbus 402 kann unter Verwendung jedes geeigneten Protokolls implementiert werden, wie zum Beispiel PCI (Peripheral Component Interconnect), PCI-Express, AGP (Accelerated Graphichs Port), HyperTransport oder jedes andere (jede anderen) Bus- oder Punkt-zu-Punkt-Kommunikationsprotokoll(e). Das System 400 umfasst ebenfalls einen Hauptspeicher 404. Steuerlogik (Software) und Daten sind in dem Hauptspeicher 404 gespeichert, der die Form eines Speichers mit direktem Zugriff (RAM) annehmen kann.
  • Das System 400 umfasst ebenfalls Eingabevorrichtungen 412, einen Graphikprozessor 406 und ein Display 408, d.h. eine konventionelles CRT (Kathodenstrahlröhre), LCD (Flüssigkristallanzeige), LED (Licht emittierende Diode), Plasmadisplay oder ähnliches. Benutzereingaben können von den Eingabevorrichtungen 412 empfangen werden, zum Beispiel Tastatur, Maus, Touchpad, Mikrophon und ähnliches. In einer Ausführungsform kann der Graphikprozessor 406 eine Mehrzahl von Shader-Modulen, ein Rasterisierungsmodul etc. aufweisen. Jedes der vorhergehenden Module kann sich sogar auf einer einzigen Halbleiterplattform befinden, um eine Grafikverarbeitungseinheit (GPU) zu bilden.
  • In der vorliegenden Beschreibung kann eine einzige Halbleiterplattform auf einen alleinigen einheitlichen halbleiterbasierten integrierten Schaltkreis oder Chip verweisen. Es sollte beachtet werden, dass sich der Begriff einzige Halbleiterplattform auch auf Mehrchipmodule mit erhöhter Konnektivität, die einen Auf-dem-Chip-Betrieb simulieren, beziehen kann und erhebliche Verbesserungen gegenüber der Ausnutzung einer herkömmlichen Implementierung mit zentralem Verarbeitungseinheit (CPU) und Bus erzielen kann. Die verschiedenen Module können natürlich ebenfalls separat oder in verschiedenen Kombinationen von Halbleiterplattformen gemäß den Wünschen des Benutzers angeordnet werden.
  • Das System 400 kann ebenfalls einen sekundären Speicherung 410 umfassen. Die sekundäre Speicherung 410 umfasst zum Beispiel ein Festplattenlaufwerk und/oder ein entfernbares Speicherlaufwerk, das ein Floppy-Disk-Laufwerk, ein Magnetbandlaufwerk, ein Compact-Disk-Laufwerk, ein Digital-Versatile-Disk-(DVD)-Laufwerk, ein Aufnahmegerät, einen Universal-Serial-Bus-(USB)-Flashspeicher darstellt. Das entfernbare Speicherlaufwerk liest von einer und/oder schreibt in einer entfernbaren Speichereinheit auf eine wohlbekannte Art und Weise.
  • Computerprogramme oder Computersteueralgorithmen können in dem Hauptspeicher 404 und/oder in dem sekundären Speicher 410 gespeichert sein. Derartige Computerprogramme ermöglichen dem System 400, wenn sie ausgeführt werden, verschiedene Funktionen auszuführen. Der Speicher 404, der Speicher 410 und/oder jeglicher andere Speicher sind mögliche Beispiele von computerlesbaren Medien.
  • In einer Ausführungsform kann die Architektur und/oder Funktionalität der verschiedenen vorhergehenden Figuren im Kontext des zentralen Prozessors 401, des Graphikprozessors 406, eines (nicht gezeigten) integrierten Schaltkreises, der imstande ist, zumindest einen Bereich der Fähigkeiten von sowohl dem Hostprozessor 401 als auch dem Graphikprozessor 406 aufzuweisen, eines Chipsatzes (das heißt, einer Gruppe von integrierten Schaltkreisen, die ausgestaltet sind, um als eine Einheit und zum Durchführen verwandter Funktionen zu arbeiten und verkauft zu werden) und/oder auch irgendeines anderen integrierten Schaltkreises für diese Angelegenheit implementiert werden.
  • Die Architektur und/oder Funktionalität der verschiedenen vorhergehenden Figuren können jedoch auch im Kontext eines allgemeinen Computersystems, eines Leiterplattensystems, eines Spielkonsolensystems, das für Unterhaltungszwecke fest zugeordnet ist, eines anwendungsspezifischen Systems und/oder jeglichem anderen gewünschten Systems implementiert werden. Beispielsweise kann das System 400 die Form eines Desktopcomputers, eines Laptopcomputers, eines Servers, einer Arbeitsstation, von Spielkonsolen, eines eingebetteten Systems und/oder jeglicher anderen Art von Logik annehmen. Das System 400 kann jedoch auch die Form verschiedener anderen Vorrichtungen annehmen, die eine persönliche digitale Assistenten-Vorrichtung (PDA), eine Mobiltelefon-Vorrichtung, einen Fernseher usw. umfassen, ohne jedoch auf diese beschränkt zu sein.
  • Das System 400 kann ferner, obwohl nicht gezeigt, mit einem Netzwerk (zum Beispiel ein Telekommunikationsnetzwerk, ein lokales Netzwerk (LAN), ein drahtloses Netzwerk, ein Weitbereichsnetzwerk (WAN) wie beispielsweise das Internet, ein Peer-zu-Peer-Netzwerk, ein Kabelnetzwerk oder ähnliches) zu Kommunikationszwecken gekoppelt sein.
  • Obwohl verschiedene Ausführungsformen oben beschrieben wurden, sei zu verstehen, dass diese nur beispielhaft und nicht einschränkend vorgestellt wurden. Folglich sollte die Breite und der Umfang einer bevorzugten Ausführungsform nicht durch irgendeine der oben beschriebenen Ausführungsformen beschränkt sein, sondern sollte nur gemäß den folgenden Ansprüchen und deren Äquivalente definiert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 2014/0267340 [0006]

Claims (20)

  1. Verfahren, umfassend: Identfizieren einer deklarativen Darstellung eines zu rendernden Materials; Erzeugen einer deklarativen Darstellung verringerter Komplexität des Materials durch Anwenden einer oder mehrerer Termumschreibregeln auf die deklarative Darstellung des Materials; und Rückgabe der deklarativen Darstellung verringerter Komplexität des Materials.
  2. Verfahren gemäß Anspruch 1, wobei die deklarative Darstellung einen Ausdrucksbaum oder einen gerichteten azyklischen Graphen (DAG) umfasst.
  3. Verfahren gemäß Anspruch 1 oder 2, wobei die deklarative Darstellung einen Ausdrucksbaum umfasst, wobei ein oder mehrere Knoten des Ausdrucksbaums jeweils einen Funktionsaufruf oder eine Verteilungsfunktion darstellen, die eine oder mehrere einer bidirektionalen Reflexionsverteilungsfunktion (BRDF), einer bidirektionalen Transmissionsverteilungsfunktion (BTDF), einer Emissionsverteilungsfunktion (EDF) und einer Phasenfunktion umfassen.
  4. Verfahren gemäß einem der vorangehenden Ansprüche, wobei das Material unter Ausnutzung eines physikalisch basierten Renderingmodells (PBR-Modells) gerendert wird.
  5. Verfahren gemäß einem der vorangehenden Ansprüche, ferner umfassend Bestimmen einer Reihenfolge, in welcher die eine oder mehreren Termumschreibregeln auf die deklarative Darstellung des Materials angewandt werden.
  6. Verfahren gemäß einem der vorangehenden Ansprüche, wobei die eine oder mehreren Termumschreibregeln auf die deklarative Darstellung des Materials angewandt werden und eine Folge von deklarativen Darstellungen des Materials erzeugen, die mit der deklarativen Darstellung verringerter Komplexität des Materials enden.
  7. Verfahren gemäß einem der vorangehenden Ansprüche, wobei die deklarative Darstellung einen Materialausdruck oder eine Materialdefinition umfasst, die einen definierenden Ausdruck umfasst, wobei der definierende Ausdruck durch eine oder mehrere Regeln verringert werden kann und wobei ein Parameterwert des definierenden Ausdrucks eine Übereinstimmung von einer oder mehreren Regeln bedingt verhindert.
  8. Verfahren gemäß einem der vorangehenden Ansprüche, ferner umfassend Anmerkungen oder andere Metadaten, die der deklarativen Darstellung zugeordnet sind, wobei die Anmerkungen oder andere Metadaten verwendet werden, um eine oder mehrere Termumschreibregeln auszuwählen, oder als zusätzliche Parameter während des Anwenden der einen oder mehreren Termumschreibregeln auf die deklarative Darstellung des Materials verwendet werden.
  9. Verfahren gemäß einem der vorangehenden Ansprüche, wobei eine Mehrzahl der Termumschreibregeln in allen möglichen Reihenfolgen angewandt wird, um ein Mehrzahl von deklarativen Darstellungen verringerter Komplexität des Materials zu erzeugen und eine der Mehrzahl von deklarativen Darstellungen verringerter Komplexität des Materials gemäß einem oder mehreren vorbestimmten Kriterien ausgewählt wird.
  10. Verfahren gemäß einem der vorangehenden Ansprüche, wobei eine Mehrzahl von Termumschreibregeln in einer Untermenge von allen möglichen Reihenfolgen unter Verwendung einer vorbestimmten Auswahlstrategie angewandt wird, um eine Mehrzahl von deklarativen Darstellungen verringerter Komplexität des Materials zu erzeugen, und eine der Mehrzahl von deklarativen Darstellungen verringerter Komplexität des Materials gemäß einem oder mehreren vorbestimmten Kriterien ausgewählt wird, wobei die vorbestimmte Auswahlstrategie auf gieriger Auswahl, einer beliebigen Kostenfunktion oder Auswahlkriterien basiert, auf welche Regeln anzuwenden und welche nicht anzuwenden sind.
  11. Verfahren gemäß einem der vorangehenden Ansprüche, wobei die deklarative Darstellung in einer Tiefe zuerst, links nach rechts Reihenfolge rekursiv durchquert wird und die eine oder mehreren Termumschreibregeln gegenüber einem aktuellen Knoten der deklarative Darstellung während der Durchquerungen abgestimmt und auf diesen angewandt werden, wobei Unterausdrücke der deklarativen Darstellung nach Anwenden der einen oder mehreren Termumschreibregeln rekursiv durchquert werden.
  12. Verfahren gemäß einem der vorangehenden Ansprüche, wobei die deklarative Darstellung in einer Tiefe zuerst, links nach rechts Reihenfolge rekursiv durchquert wird, und die eine oder mehreren Termumschreibregeln gegenüber einen aktuellen Knoten der deklarativen Darstellung abgestimmt und auf diesen lediglich angewandt werden, nachdem alle Unterausdrücke des aktuellen Knoten rekursiv durchquert wurden.
  13. Verfahren gemäß einem der vorangehenden Ansprüche, ferner umfassend Bestimmen der einen oder mehreren Termumschreibregeln durch: Definieren einer Mehrzahl von abschließenden Ausdrücken; Erzeugen einer Mehrzahl von übereinstimmenden Mustern für alle BSDFs innerhalb der deklarativen Darstellung, wobei die Mehrzahl von übereinstimmenden Mustern alle möglichen Kombinationen aufzählen, wie sich die Mehrzahl von abschließenden Ausdrücke in Parametern der BSDFs zeigen können; Beseitigen von der Mehrzahl von übereinstimmenden Mustern jene, die gleich der Mehrzahl von abschließenden Ausdrücken sind, um eine Mehrzahl von verbleibenden Mustern zu erzeugen; und Wählen, für jede der Mehrzahl von verbleibenden Mustern, eines Ersetzungsausdrucks von der Mehrzahl von abschließenden Ausdrücken und Definieren von Argumenten des Ersetzungsausdrucks basierend auf Argumenten einer Übereinstimmung innerhalb des verbleibenden Musters.
  14. System, umfassend: einen Prozessor, der konfiguriert ist, um: eine deklarative Darstellung eines zu rendernden Materials zu identifizieren; eine deklarative Darstellung verringerter Komplexität des Materials durch Anwenden einer oder mehrerer Termumschreibregeln auf die deklarative Darstellung des Materials zu erzeugen; und die deklarative Darstellung verringerter Komplexität des Materials zurückzugeben.
  15. System gemäß 14, wobei die deklarative Darstellung einen Ausdrucksbaum oder einen gerichteten azyklischen Graphen (DAG) umfasst.
  16. System gemäß Ansprüchen 14 oder 15, wobei die deklarative Darstellung einen Ausdrucksbaum umfasst, wobei ein oder mehrere Knoten des Ausdrucksbaums jeweils einen Funktionsaufruf oder eine Verteilungsfunktion darstellen, die eine oder mehrere einer bidirektionalen Reflexionsverteilungsfunktion (BRDF), einer bidirektionalen Transmissionsverteilungsfunktion (BTDF), einer Emissionsverteilungsfunktion (EDF) und einer Phasenfunktion umfassen.
  17. System gemäß einem der Ansprüche 14 bis 16, wobei das Material unter Ausnutzung eines physikalisch basierten Renderingmodells (PBR-Modells) gerendert wird.
  18. System gemäß einem der Ansprüche 14 bis 17, wobei der Prozessor ferner konfiguriert ist, um eine Reihenfolge zu bestimmen, in der die eine oder mehreren Termumschreibregeln auf die deklarative Darstellung des Materials angewandt werden.
  19. System gemäß einem der Ansprüche 14 bis 18, wobei die eine oder mehreren Termumschreibregeln auf die deklarative Darstellung des Materials angewandt werden und eine Folge von deklarativen Darstellungen der Materialien erzeugen, die mit der deklarativen Darstellung verringerten Komplexität des Materials enden.
  20. Computerlesbares Speichermedium, das Anweisungen speichert, die, wenn durch einen Prozessor ausgeführt, den Prozessor veranlassen, Schritte eines Verfahren durchzuführen, wie in einem der Ansprüche 1 bis 13 erwähnt.
DE102017127367.0A 2016-12-09 2017-11-21 Automatischer detaillierungsgrad für physikalisch basierte materialien Pending DE102017127367A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662432475P 2016-12-09 2016-12-09
US62/432,475 2016-12-09
US15/599,320 2017-05-18
US15/599,320 US10504273B2 (en) 2016-12-09 2017-05-18 Automatic level-of-detail for physically-based materials

Publications (1)

Publication Number Publication Date
DE102017127367A1 true DE102017127367A1 (de) 2018-06-14

Family

ID=62201929

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017127367.0A Pending DE102017127367A1 (de) 2016-12-09 2017-11-21 Automatischer detaillierungsgrad für physikalisch basierte materialien

Country Status (3)

Country Link
US (1) US20230111901A1 (de)
CN (1) CN108230416B (de)
DE (1) DE102017127367A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2607993A (en) * 2021-05-14 2022-12-21 Nvidia Corp Accelerated processing via a physically based rendering engine
US11830123B2 (en) 2021-05-14 2023-11-28 Nvidia Corporation Accelerated processing via a physically based rendering engine
US11875444B2 (en) 2021-05-14 2024-01-16 Nvidia Corporation Accelerated processing via a physically based rendering engine
US11908064B2 (en) 2021-05-14 2024-02-20 Nvidia Corporation Accelerated processing via a physically based rendering engine

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140267340A1 (en) 2013-03-15 2014-09-18 Nvidia Corporation Material representation data structure and method of representing a material for digital image synthesis

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990519B2 (en) * 2001-11-08 2006-01-24 Texas Instruments Incorporated Use of a directed acyclic organization structure for selection and execution of consistent subsets of rewrite rules
US7016817B2 (en) * 2002-11-14 2006-03-21 Friedman Harold S Method for elevator cab interior
US8060857B2 (en) * 2009-01-31 2011-11-15 Ted J. Biggerstaff Automated partitioning of a computation for parallel or other high capability architecture
US20110258534A1 (en) * 2010-04-16 2011-10-20 Microsoft Corporation Declarative definition of complex user interface state changes
CN102819860B (zh) * 2012-08-16 2015-03-11 北京航空航天大学 基于辐射度算法的次表面散射物体的实时全局光照方法
US8982125B1 (en) * 2014-05-15 2015-03-17 Chaos Software Ltd. Shading CG representations of materials
US9323742B2 (en) * 2014-06-09 2016-04-26 Xerox Corporation Method and apparatus for providing semantic data architecture
CN104574492A (zh) * 2014-12-23 2015-04-29 福建天晴数码有限公司 多层材质物体的实时渲染方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140267340A1 (en) 2013-03-15 2014-09-18 Nvidia Corporation Material representation data structure and method of representing a material for digital image synthesis

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2607993A (en) * 2021-05-14 2022-12-21 Nvidia Corp Accelerated processing via a physically based rendering engine
GB2607993B (en) * 2021-05-14 2023-11-08 Nvidia Corp Accelerated processing via a physically based rendering engine
US11830123B2 (en) 2021-05-14 2023-11-28 Nvidia Corporation Accelerated processing via a physically based rendering engine
US11853764B2 (en) 2021-05-14 2023-12-26 Nvidia Corporation Accelerated processing via a physically based rendering engine
US11875444B2 (en) 2021-05-14 2024-01-16 Nvidia Corporation Accelerated processing via a physically based rendering engine
US11908064B2 (en) 2021-05-14 2024-02-20 Nvidia Corporation Accelerated processing via a physically based rendering engine

Also Published As

Publication number Publication date
US20230111901A1 (en) 2023-04-13
CN108230416B (zh) 2022-01-14
CN108230416A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
DE102017127367A1 (de) Automatischer detaillierungsgrad für physikalisch basierte materialien
US11514637B2 (en) Automatic level-of-detail for physically-based materials
DE102017124573A1 (de) Systeme und verfahren zum beschneiden von neuronalen netzen für eine betriebsmitteleffiziente folgerung
Ragan-Kelley et al. Decoupling algorithms from schedules for easy optimization of image processing pipelines
DE102018126342A1 (de) Transformieren von faltenden neuronalen netzen zum lernen von visuellen sequenzen
DE102013215438A1 (de) System zum Unterstützen einer flexiblen Farbzuweisung in komplexen Dokumenten
DE60106779T2 (de) Verfahren und systeme zur rand-darstellung pro merkmal
DE102018114286A1 (de) Durchführen einer Traversierungs-Stack-Komprimierung
DE102018113845A1 (de) Systeme und Verfahren zum Trainieren von neuronalen Netzwerken mit dünnbesetzten Daten
DE112015003587T5 (de) Spezifizieren von komponenten in graphbasierten programmen
DE102016103870A1 (de) Systeme und Verfahren zur weichen Schattierung in 3D-Rendering
DE102019005879A1 (de) Generieren von dreidimensionalem Digitalcontent aus in natürlicher Sprache gegebenen Aufforderungen
Banić et al. Smart light random memory sprays Retinex: a fast Retinex implementation for high-quality brightness adjustment and color correction
DE102013114373A1 (de) Konsistente Vertex-Einrastung für Rendering mit variabler Auflösung
DE112009004951T5 (de) Verfahren und System zur Dokumentenrekonstruktion
DE112012005827T5 (de) Bearbeiten von Medien unter Verwendung von graphischer Darstellung der Medien
DE102018001136A1 (de) Interaktive Farbpalettenschnittstelle zum digitalen Malen
DE102013020810A1 (de) Effiziente Super-Abtastung mit Schattierungs-Strängen pro Pixel
DE102016110195A1 (de) Erzeugen von Code in statisch typisierten Programmiersprachen für eine dynamisch typisierte array-basierte Sprache
DE102011011641A1 (de) System, Verfahren und Computerprogrammprodukt zum Wiedergeben von Pixeln mit zumindest einer halbtransparenten Oberfläche
DE102021004572A1 (de) Entrauschen von Bildern, die mittels Monte-Carlo-Wiedergaben wiedergegeben werden
Ganacim et al. Massively-parallel vector graphics
DE102011076878A1 (de) Verfahren und Vorrichtung zur effizienten Editierung eines dreidimensionalen Volumens mittels Ray Casting
DE202017007534U1 (de) Multiskalige 3D-Textursynthese
DE102022113243A1 (de) Score-basierte generative Modellierung im latenten Raum

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017500000

Ipc: G06F0030000000

R016 Response to examination communication