iray-Renderelemente werden durch Lichtpfad-Ausdrücke festgelegt.
Ein Lichtpfad-Ausdruck (Light Path Expression, LPE) ist ein regulärer Ausdruck, der bestimmte Lichtpfade beschreibt. Auf der Benutzeroberfläche Elemente rendern für den iray-Renderer werden mit diesen Ausdrücken nur bestimmte Lichtanteile zur Konstruktion eines Elements ausgewählt.
Lichtpfad-Ausdrücke können jetzt Licht- und Geometrieobjekte referenzieren.
Ein vollständiger Lichtpfad-Ausdruck beginnt mit einem Lichtquellenereignis und endet mit einem Augenereignis oder umgekehrt.
E steht für ein Augenereignis. In 3ds Max ist dies der Blickpunkt des aktiven Ansichtsfensters (in der Regel für Renderings eine Kameraansicht).
Das Lichtquellenereignis kann den Typ des Lichts festlegen:
Lichtquellentyp | Verwendung |
---|---|
L | Jedes Licht |
Lp | Punktlicht |
La | Flächenlicht |
Le | Umgebung oder Hintergrund |
Beispiel: Der Lichtpfad-Ausdruck zur Generierung eines Elements Licht: Bereich lautet La.*E, wobei das Sternchen (*) für eine beliebige Anzahl von Flächenlichtereignissen steht. Der Lichtpfad-Ausdruck für das Element Licht: Umgebung lautet Le.*E.
Der Lichtpfad-Ausdruck, mit dem ein Ereignis Material: Selbstillumination generiert wird, lautet LE. Anders ausgedrückt rendert er Lichtquellen, aber keine Interaktionen zwischen Licht und Objekten.
Interaktionsereignisse beschreiben die Interaktion zwischen einem Lichtstrahl und einem Material in der Szene. Ein Interaktionsereignis wird in einem Lichtpfad-Ausdruck zwischen spitze Klammern gesetzt und enthält zwei Komponenten: Typ und Modus.
Das Ereignis selbst beschreibt die Interaktion zwischen einem Strahl und einem Objekt. Es gibt drei Typen von Interaktionsereignissen:
Ereignistyp | Verwendung |
---|---|
R | Reflexion |
T | Übertragung |
V | Volumeninteraktion |
Der Modus beschreibt die auftretende Streuung. Es sind drei Modi möglich:
Ereignismodus | Verwendung |
---|---|
D | Diffuse (Streufarbe) |
G | Glänzend |
S | Glanzfarbe |
Beispiel:
<RD>
... beschreibt eine einfache Streufarbenreflexion.
Der "Punkt" (.) ist ein Platzhalterzeichen für einen beliebigen Typ oder Modus.
<R.>
... beschreibt alle Reflexionen des Ereignisses.
Sie können <R.> als R abkürzen. Dies gilt für jedes Ereignis, das nur einen Typ oder einen Modus festlegt.
Seien Sie beim Lesen von abgekürztem Code vorsichtig: <RD> beschreibt eine einzelne Streufarbenreflexion, während RD ein Reflexionsereignis gefolgt von einem Streufarbenereignis beschreibt.
Um mehrere Ereignisse abzugleichen, setzen Sie sie in eckige Klammern ([]), um einen Satz zu bilden.
[RT] kombiniert ein Reflexions- und ein Übertragungsereignis. [DGS] kombiniert sämtliche Streuungsmodi. Somit ist <[RT][DGS]> ein Ereignis, das eine Reflexion und eine Übertragung sowie alle Arten von Streuung bis auf Volumeninteraktion enthält.
Sie können auch einen Typ oder Modus aus einem Satz ausschließen, indem Sie ihm ein Caret-Zeichen (^) voranstellen.
<[^T].> schließt die Übertragung aus dem Ereignis aus. Dies entspricht <[RT][DGS]> oder einfach <[RT].>.
Sie können mehrere Operatoren zur Kombination von Unterausdrücken verwenden. Dies sind die zulässigen Operatoren (A und B stehen für Unterausdrücke, m und n entsprechen Ganzzahlen):
Operator | Verwendung |
---|---|
AB | Gleicht zuerst A und dann B ab. |
A|B | Gleicht A oder B ab. |
A? | Gleicht optional A ab. A ist möglicherweise nicht in der Szene vorhanden. |
A* | Gleicht null oder mehr Vorkommnisse von A ab. |
A+ | Gleicht ein oder mehrere Vorkommnisse von A ab. |
A{n} | Gleicht n aufeinanderfolgende Vorkommnisse von A ab. |
A{n,m} | Gleicht zwischen n und m Vorkommnisse von A ab. |
A{n,} | Gleicht n oder mehr Vorkommnisse von A ab. |
Operatoren werden mit der folgenden Priorität ausgewertet:
?, *, +, {}
AB
|
Sie können mit runden Klammern (()) Unterausdrücke gruppieren und die Reihenfolge der Auswertung ändern. Unterausdrücke innerhalb von Klammern werden zuerst ausgewertet.