c't 21/2016
S. 184
Know-how
Simplex-Noise
Aufmacherbild

Shader als Lava-Lampe

Der Simplex-Noise-Algorithmus für natürliche Texturen in der Computergrafik

Wolken, Flammen, Holz, Marmor … in der Natur gibt es viele Muster, die irgendwie zufällig sind, aber doch eine gewisse Struktur haben. In der Computergrafik erzeugt man solche Effekte mit Texturen. Ein Grundbaustein, um diese zu berechnen, ist der Simplex-Noise-Algorithmus von Ken Perlin.

Ein weit verbreiteter Standard-Algorithmus für visuelles Rauschen ist der Simplex-Noise-Algorithmus von Ken Perlin aus dem Jahr 2001. Es gibt etliche Varianten davon, je nachdem, ob er in Hardware, auf der CPU oder in einem Shader auf der GPU implementiert wird.

Video: Nachgehakt

Den Vorläufer von Simplex-Noise hat Ken Perlin bereits 1985 veröffentlicht. Es war die Zeit, als allererste Computergrafik-Effekte in Kinofilmen Einzug hielten; Perlin hatte an „Tron“ mitgearbeitet. So etwas in Echtzeit zu berechnen, daran war noch nicht zu denken. Auf heutigen Grafikkarten ist das aber problemlos möglich, sodass man Noise-Texturen nicht als Bilder speichern muss, sondern ad hoc in einem Shader berechnen kann. Man spricht dann von einer prozeduralen Textur.

Videos