Volumenstreuung (englisch subsurface scattering, Abkürzung SSS) bezeichnet die Streuung des Lichtes in transluzenten Körpern.
Transluzente Körper sind teilweise lichtdurchlässig. Im Gegensatz zu lichtundurchlässigen Körpern reflektieren sie auftreffendes Licht daher nicht nur direkt an ihrer Oberfläche, sondern teils erst, nachdem es in die Materie eingedrungen ist.
Bei einigen Körpern erfolgt die Reflexion an einer Schicht unterhalb der festen Oberfläche, so etwa bei Spiegelglas, das unter einer durchsichtigen Glasschicht eine nahezu vollständig reflektierende Silberschicht aufweist. Bei anderen Körpern liegen mehrere teilweise lichtdurchlässige Schichten übereinander, z. B. bei organischen Stoffen wie Haut und Zellulose. Körper wie Gaswolken sind einfach nicht dicht genug, um als feste Oberfläche zu wirken; ob und wann das Licht auf einen reflektierenden Partikel trifft, ist durch den Zufall bestimmt. In wieder anderen Stoffen, hauptsächlich Emulsionen wie z. B. Milch, sind verschiedene Stoffe mit verschiedenen Lichtdurchlässigkeiten gemischt; das Licht wird darin zwischen Materieansammlungen hin- und her reflektiert.
Transluzente Körper verletzen durch diese Effekte scheinbar das Reflexionsgesetz, denn betrachtet man die äußere Oberfläche, so sind Ausfallswinkel und Einfallswinkel keinesfalls immer gleich – mehr noch: Ein Lichtstrahl kann an einer Stelle unter einem Winkel in den Körper eintreten und an einer völlig anderen Stelle unter einem völlig anderen Winkel wieder austreten. Dieser Effekt macht das Verhalten des Lichts praktisch unvorhersehbar. Die Wahrscheinlichkeitsverteilung der Austrittspunkte und -winkel der Lichtstrahlen entsprechend dem eintretenden Lichtstrahl lässt sich mit einer BSSRDF modellieren.
Von Bedeutung ist die Volumenstreuung bei der 3D-Computergrafik, bei der man versucht, das Aussehen von Materialien wie Haut, Marmor, Milch oder Wolken möglichst naturgetreu zu simulieren.
Zu den Renderverfahren, die zur Simulation von Volumenstreuung genutzt werden können, zählt Photon Mapping. Hierbei wird eine sogenannte Volume photon map verwendet; diese Methode wurde 1998 vorgestellt.[1] Auch Metropolis Light Transport, ein Renderverfahren zur globalen Beleuchtung, kann zur Simulation von Volumenstreuung genutzt werden.[2]
2001 wurde ein Näherungsverfahren entwickelt, das bei für viele Anwendungen vernachlässigbaren Unterschieden den Zeitaufwand gegenüber diesen Methoden enorm verringert. Diese sogenannte Dipol-Approximation wurde von Henrik Wann Jensen und anderen in einer SIGGRAPH-Publikation veröffentlicht[3] und 2002 weiterentwickelt[4]. 2005 wurde das Verfahren nochmals weiterentwickelt, um auch dünne Objekte und mehrere, unterschiedlich streuende Schichten zu simulieren[5].
Eine neuere, effiziente Methode zur Simulation von Volumenstreuung und anderen Effekten sind Multidimensional Lightcuts.[6]
Beispiele für Anwendungen der Volumenstreuung sind die Filme Matrix 2, Matrix 3, Shrek und die Figur des Gollum in den Filmen der Der-Herr-der-Ringe-Trilogie.