De term “BSDF” komt veel voor in Cycles-shaders zoals “Diffuse BSDF” en “Glass BSDF”, maar is niet in alle namen aanwezig (“Emission” en “Mix Shader” zijn twee van dergelijke voorbeelden).
Wat is precies een BSDF?
Antwoord
BSDF staat voor bidirectionele verstrooiingsverdelingsfunctie .
In wezen is het een wiskundige functie die de waarschijnlijkheid bepaalt dat een specifieke lichtstraal wordt gereflecteerd ( verstrooid ) onder een bepaalde hoek.
Cycli is een probabilistische ray-tracing-engine. Het bevat willekeur door de paden van lichtstralen onder enigszins verschillende hoeken te volgen. Het aantal stralen per pixel wordt bepaald door het aantal monsters; meer monsters betekent een nauwkeuriger beeld . Elke keer dat een straal terugkaatst, bepaalt de BSDF in welke richting de straal terugkaatst.
Sommige shaders, zoals Emissie, “niet” hebben het achtervoegsel BSDF omdat ze geen licht reflecteren. Emissie-shaders, zoals de naam al aangeeft, zenden licht uit, terwijl Mix Shaders eenvoudigweg het gewogen gemiddelde van de BSDF van twee verschillende shaders nemen, waarbij het gewicht wordt bepaald door de factorinvoer.
U zult wellicht ook opmerken dat de uitvoer van de Subsurface Scattering-arcering een “BSSRDF” wordt genoemd. Evenzo is dit een bidirectionele reflectieverdelingsfunctie voor oppervlakverstrooiing , omdat SSS-materialen licht niet simpelweg reflecteren; ze absorberen het en reflecteer het later:
(afbeeldingen van Wikipedia , gemaakt door Gebruiker: Jurohi )
Kortom, het achtervoegsel BSDF betekent dat de arcering licht verstrooit. Het type arcering bepaalt de verdelingsfunctie, die op zijn beurt bepaalt hoe het licht wordt verstrooid en hoe de materiaal verschijnt.
Opmerkingen
- +1 voor een geweldige uitleg (voor zowel BSDF als BSSRDF) en de diagrammen.
- Voor alle duidelijkheid: deze zijn ' t mijn diagrammen; ze zijn ' afkomstig van Wikipedia. Ik ' Ik zal dat expliciet bewerken.
- Ja, dat
s prima. Het ' is nog steeds een heel goed antwoord.