Substance-Funktionsdiagramme
Beispiele
Im Folgenden finden Sie einige Beispiele aus häufig verwendeten Anwendungsfällen für Funktionen.
Einfache Funktion
Eine einfache Funktion im Kontext eines exponierten Parameters. Es erhält einen Eingangs-Gleitkommawert namens “Intensität”, der von 0 bis 1 geht (ein Bereich, der leicht zu verstehen ist) und weist ihn einem festgelegten Bereich von 0,1 bis 0,8 neu zu. Wenn der Benutzer die Intensität auf 0 setzt, wird intern 0,1 verwendet, wenn die Benutzeroberfläche auf 1 gesetzt ist, 0,8 wird verwendet und jeder Wert dazwischen wird linear interpoliert. Dieser Funktionstyp wird häufig verwendet, wenn Parameter verfügbar macht, aber benutzerdefinierte Funktionen verwendet werden.
Diese Funktion könnte auch als lerp(0.1, 0.8, Intensity) in einem Pseudocode ähnlich wie HLSL oder GLSL geschrieben werden.
erweiterte Funktion
Diese erweiterte Funktion zeigt die inneren Funktionen eines Pixelprozessors, der zum Anpassen des Farbtons einer Farbmapeingabe basierend auf der Intensität einer zweiten Graustufenmaskeneingabe vorgesehen ist.
Es erfasst beide Eingaben mit der Variablen “$pos” des Systems, entfernt dann das Alpha, konvertiert den Farbwert in HSL und ändert die Farbtonkomponente, indem es mit dem aufgenommenen Graustufenwert multipliziert wird. Anschließend wird der Vektor neu zusammengestellt, der HSL-Farbton wird wieder in RGB konvertiert und das Alpha für die endgültige Ausgabe wieder hinzugefügt.
im Pseudo-Code wäre dies eine viel kompliziertere Funktion, die nicht auf eine einzelne Zeile passen würde.