GLSL Funktionen
← GLSL Konstruktoren, Selektoren, Swizzles | ● | GLSL Kontrollstrukturen →
Die Vektor Addition, Subtraktion und Multiplikation mit + , - , * erfolgt komponentenweise (Achtung: für Multiplikation ungewöhnlich).
Matrix zu Matrix Operationen (+, -, *) und Matrix zu Vektor Multiplikationen (*) sind ebenfalls unterstützt.
Die Multiplikation und Division mit skalaren Werten an Vektoren und Matrizen funktioniert ebenfalls, liefert aber oft wegen der Besonderheit der w-Komponente nicht das gewünschte Ziel.
Weitere Vektor-Multiplikationen:
dot(v1,v2)
Skalarproduktcross(v1,v2)
Kreuzprodukt
Weitere reine Vektorfunktionen
length(v)
Ergibt die Länge eines Vektors (Achtung: Bei 4D-Vektoren meist nicht das gewünschte Ergebnis)normalize(v)
Teilt einen Vektor durch seine Länge → Länge des Ergebnisvektors ist 1reflect(v,n)
Funktion die den Vektor v an der Normalen n spiegelt (v.a. für Beleuchtungsberechnung)
Weitere Funktionen
mix(v1,v2,s)
Interpolation zwischen v1 und v2; v1 wird bei $s=0$ angenommen, v2 bei $s=1$clamp(v,vmin,vmax)
Beschränkt den Wertebereich von v auf den Bereich [vmin..vmax]; Werte außerhalb des Bereichs werden auf die Grenzen gesetzt
Funktionen die auf jede Komponente einzeln angewandt werden (und daher meist nur mit Skalaren benutzt werden)
min(v1,v2)
,max(v1,v2)
mod(v1,v2)
(Modulo-Operation, Rest der Division)sin(v)
,cos(v)
,acos(v)
(Arcus-Cosinus)pow(v,s)
(Potenz $v^s$),exp(v)
(Exponenzialfunktion $e^v$)sqrt(v)
($\sqrt v$),inversesqrt(v)
($\frac{1}{\sqrt v}$)
← GLSL Konstruktoren, Selektoren, Swizzles | ● | GLSL Kontrollstrukturen →