Co to jest BSDF?

Termin „BSDF” jest powszechny w shaderach Cycles, takich jak „Diffuse BSDF” i „Glass BSDF”, ale nie występuje we wszystkich nazwach („Emission” i „Mix Shader” to dwa takie przykłady).

Czym dokładnie jest BSDF?

Odpowiedź

BSDF oznacza dwukierunkowa funkcja dystrybucji rozpraszania .

Zasadniczo jest to „funkcja matematyczna, która określa prawdopodobieństwo, że określony promień światła zostanie odbity ( rozproszony ) pod danym kątem.

Cykle to probabilistyczny mechanizm śledzenia promieni. Wykorzystuje losowość poprzez śledzenie ścieżek promieni światła pod nieco różnymi kątami. Liczba promieni na piksel jest określana na podstawie liczby próbek; więcej próbek oznacza dokładniejszy obraz . Za każdym razem, gdy promień się odbija, BSDF określa, w którym kierunku promień się odbije.

Niektóre shadery, takie jak „ Emisja „nie” ma przyrostka BSDF, ponieważ nie odbija światła. Emission shadery, jak sama nazwa wskazuje, emitują światło, podczas gdy Mix Shaders po prostu pobierają średnią ważoną BSDF dwóch różnych shaderów, z wagą określoną przez wejście Factor.

Można również zauważyć, że wyjście modułu cieniującego rozpraszania podpowierzchniowego nosi nazwę „BSSRDF”. Podobnie jest to dwukierunkowa funkcja rozkładu odbicia rozpraszania powierzchniowego , ponieważ materiały SSS nie odbijają po prostu światła; pochłaniają je i następnie odzwierciedl to później:

BSDF kontra BSSRDF

(obrazy z Wikipedia , utworzona przez Użytkownik: Jurohi )

Krótko mówiąc, przyrostek BSDF oznacza, że moduł cieniujący będzie rozpraszał światło. Typ modułu cieniującego określa funkcję dystrybucji, która z kolei określa sposób rozpraszania światła i sposób pojawia się materiał.

Komentarze

  • +1 za świetne wyjaśnienie (zarówno dla BSDF, jak i BSSRDF) oraz diagramy.
  • Dla jasności, te nie ' t moich diagramów; ' pochodzą z Wikipedii. I ' edytuję to jawnie.
  • Tak, to

w porządku. To ' to nadal bardzo dobra odpowiedź.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *