05.11.2012 Aufrufe

Entwicklung eines BRDF-Shader-Plugins für Cinema 4d

Entwicklung eines BRDF-Shader-Plugins für Cinema 4d

Entwicklung eines BRDF-Shader-Plugins für Cinema 4d

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Nachdem die <strong>BRDF</strong>-Werte der darüber und darunter liegenden Zeile gewichtet<br />

wurden, muss dies rekursiv <strong>für</strong> alle folgenden Winkelwerte geschehen.<br />

Pseudocodeausschnitt 6 aus der Funktion GetInterpolatetValue zeigt den<br />

rekursiven Aufruf der Funktion <strong>für</strong> die nächste Spalte bis zu einer maximalen<br />

Rekursionstiefe von 3. Bei der maximalen Tiefe bzw. bei φo in Spalte 3<br />

(Spalte 0 entspricht θi) angekommen, werden die beiden <strong>BRDF</strong>-Werte <strong>für</strong><br />

die entsprechenden Zeilen ausgelesen, gewichtet und interpoliert zurückgegeben.<br />

Stehen die <strong>BRDF</strong>-Werte, getrennt nach rot, grün und blau in der<br />

Datei, werden diese getrennt gewichtet und in Vektor p zurückgegeben.<br />

1 i f ( column < 3)<br />

2 {<br />

Listing 6: Pseudocode: Rekursive Interpolation<br />

3 p = GetInterpolatedValue ( t h e t a _ i , phi_i , theta_s ,<br />

phi_s , bottomLine , nextColumn ) ∗ weightBottom<br />

4 + GetInterpolatedValue ( t h e t a _ i , phi_i , theta_s ,<br />

phi_s , topLine , nextColumn ) ∗ weightTop ;<br />

5 }<br />

6 else<br />

7 {<br />

8 i f ( numberOfBrdfValues == 1)<br />

9 {<br />

10 p = bottomLineBrdfValue ∗ weightBottom +<br />

topLineBrdfValue ∗ weightTop ;<br />

11 }<br />

12 e lse<br />

13 {<br />

14 p . x = bottomLineBrdfValueR ∗ weightBottom +<br />

topLineBrdfValueR ∗ weightTop ;<br />

15 p . y = bottomLineBrdfValueG ∗ weightBottom +<br />

topLineBrdfValueG ∗ weightTop ;<br />

16 p . z = bottomLineBrdfValueB ∗ weightBottom +<br />

topLineBrdfValueB ∗ weightTop ;<br />

17 }<br />

18 }<br />

19 return p ;<br />

Das Ergebnis ist ein interpolierter <strong>BRDF</strong>-Wert <strong>für</strong> die beiden Winkelpaare<br />

zur Lichtquelle und zum Betrachter. In Abschnitt 4.5 wird genauer auf<br />

dessen Weiterverwendung eingegangen.<br />

34

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!