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=1clamp(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 vs),exp(v)
(Exponenzialfunktion ev)sqrt(v)
(√v),inversesqrt(v)
(1√v)
← GLSL Konstruktoren, Selektoren, Swizzles | ● | GLSL Kontrollstrukturen →