Rauschen API

Dieser Artikel beschreibt die Funktionen zur Erzeugung von Rauschen, die in den Komponenten Abbildungs-Skript und Kurven-Skript verwendet werden können.

Einheitliches Rauschen API

Das gleichmäßige Rauschen ist eine wesentliche Grundlage für die Implementierung aller Grafikalgorithmen, die Zufälligkeit erfordern. Der Kern der Filter Forge-API für gleichmäßiges Rauschen ist die Funktion get_noise() die drei Koordinaten akzeptiert (ja, drei: X, Y and Z), den Zufallswert berücksichtigt, den du durch Aufruf der Funktion set_noise_seed() festlegen kannst, und einen einzelnen Wert zurückgibt, der die Rauschamplitude an den angegebenen Koordinaten darstellt. In diesem Beispiel werden verschiedene Z-Koordinaten verwendet, um unterschiedliche Rauschwerte für die Kanäle R, G und B zu erhalten:

Uniform Noise Script Example

Uniform Noise

Script API – Uniform Noise.ffxml

Hier ist ein Filter, der die API für gleichmäßiges Rauschen verwendet, um ein zufällig gefärbtes Kachelmuster zu erzeugen:

Randomly-colored Tile Pattern

Script API – Noise Bricks.ffxml

Und hier ist ein weiteres Filterbeispiel, das die API für gleichmäßiges Rauschen verwendet, um Worley-Rauschen zu implementieren:

Worley Noise

Script API – Worley Noise.ffxml

Perlin-Rauschen API

Während die API für gleichmäßiges Rauschen im Grunde einen Zufallszahlengenerator bietet, der an die Koordinaten des Beispiels gebunden ist, implementiert die API für Perlin-Rauschen einen bekannten, preisgekrönten Rauschalgorithmus, der ein weicheres, natürlich wirkendes Rauschen mit einstellbarer Skalierung bietet. Der Kern dieser API ist die Funktion get_perlin_noise() die drei Koordinaten (du solltest auf jeden Fall mit der "animierten" Z-Koordinate im Beispiel unten spielen) und einen Skalierungsfaktor akzeptiert und einen einzelnen Wert zurückgibt, der die Rauschamplitude an diesen Koordinaten darstellt:

Z-Animated Perlin Script Example

Z-Animated Perlin Script Output

Script API – Z-Animated Perlin.ffxml

Das von der Perlin-Rauschen API erzeugte Rauschen kann nahtlos gemacht werden. Du kannst sogar festlegen, dass der Bereich kachelbar sein soll:

Seamless Perlin Script Example

Seamless Perlin Script Output

Script API – Seamless Perlin.ffxml

Die Perlin-Rauschen API bietet ein einoktaviges Rauschen. Wenn du also ein komplexeres Rauschen wünschst, musst du die Überlagerung selbst implementieren. Hier ist ein Beispielfilter, der das in Filter Forge integrierte mehroktavige Perlin-Rauschen über die Skript-API emuliert:

Multi-Octave Perlin

Script API – Multi-Octave Perlin.ffxml.

Urheberrecht © 2006-2022 Filter Forge, Inc. Alle Rechte vorbehalten.