Systeminterne Funktionen

In der folgenden Tabelle sind die systeminternen Funktionen aufgeführt, die in HLSL verfügbar sind. Jede Funktion verfügt über eine kurze Beschreibung und einen Link zu einer Referenzseite, die weitere Details zum Eingabeargument und Rückgabetyp enthält.

Name BESCHREIBUNG Minimales Shadermodell
Abbrechen Beendet den aktuellen Zeichnen- oder Dispatchaufruf, der ausgeführt wird. 4
abs Absoluter Wert (pro Komponente). 1.
Acos Gibt den Arkuscosinus jeder Komponente von x zurück. 1.
Alle Testen Sie, ob alle Komponenten von x ungleich null sind. 1.
AllMemoryBarrier Blockiert die Ausführung aller Threads in einer Gruppe, bis alle Speicherzugriffe abgeschlossen sind. 5
AllMemoryBarrierWithGroupSync Blockiert die Ausführung aller Threads in einer Gruppe, bis alle Speicherzugriffe abgeschlossen sind und alle Threads in der Gruppe diesen Aufruf erreicht haben. 5
jegliche Testen Sie, ob eine Komponente von x ungleich 0 (null) ist. 1.
asdouble Interpretiert einen Cast-Wert in einen double-Wert neu. 5
asfloat Konvertieren Sie den Eingabetyp in einen float-Typ. 4
Asin Gibt den Arkussinus jeder Komponente von x zurück. 1.
asint Konvertiert den Eingabetyp in eine ganze Zahl. 4
asuint Interpretiert das Bitmuster eines 64-Bit-Typs in einen uint um. 5
asuint Konvertiert den Eingabetyp in eine ganze Zahl ohne Vorzeichen. 4
Atan Gibt den Arkangens von x zurück. 1.
atan2 Gibt den Arkangens von zwei Werten (x,y) zurück. 1.
ceil Gibt die kleinste ganze Zahl zurück, die größer oder gleich x ist. 1.
CheckAccessFullyMapped Bestimmt, ob alle Werte aus einem Beispiel- oder Ladevorgang auf zugeordnete Kacheln in einer kachelgekachelten Ressource zugegriffen haben. 5
Klemme Klammert x an den Bereich [ min, ] max. . 1.
clip Verwirft das aktuelle Pixel, wenn eine Komponente von x kleiner als 0 (null) ist. 1.
Cos Gibt den Kosinus von x zurück. 1.
Cosh Gibt den hyperbolischen Kosinus von x zurück. 1.
countbits Zählt die Anzahl der Bits (pro Komponente) in der Eingabe-Ganzzahl. 5
Kreuz Gibt das Kreuzprodukt zweier 3D-Vektoren zurück. 1.
D3DCOLORtoUBYTE4 Swizzles und skaliert Komponenten des 4D-Vektors x, um den Mangel an UBYTE4-Unterstützung in einigen Hardwarekomponenten zu kompensieren. 1.
Ddx Gibt die partielle Ableitung von x in Bezug auf die X-Koordinate des Bildschirmbereichs zurück. 2.
ddx _ coarse Berechnet eine partielle Ableitung mit niedriger Genauigkeit in Bezug auf die X-Koordinate des Bildschirmraums. 5
ddx _ fine Berechnet eine partielle Ableitung mit hoher Genauigkeit in Bezug auf die X-Koordinate des Bildschirmraums. 5
ddy Gibt die partielle Ableitung von x in Bezug auf die y-Koordinate des Bildschirmbereichs zurück. 2.
ddy _ coarse Berechnet eine partielle Ableitung mit niedriger Genauigkeit in Bezug auf die y-Koordinate des Bildschirmraums. 5
ddy _ fine Berechnet eine partielle Ableitung mit hoher Genauigkeit in Bezug auf die y-Koordinate des Bildschirmraums. 5
Grad Konvertiert x vom Bogenmaß in Grad. 1.
Determinante Gibt die Determinante der quadratischen Matrix m zurück. 1.
DeviceMemoryBarrier Blockiert die Ausführung aller Threads in einer Gruppe, bis alle Gerätespeicherzugriffe abgeschlossen sind. 5
DeviceMemoryBarrierWithGroupSync Blockiert die Ausführung aller Threads in einer Gruppe, bis alle Gerätespeicherzugriffe abgeschlossen sind und alle Threads in der Gruppe diesen Aufruf erreicht haben. 5
Distanz Gibt den Abstand zwischen zwei Punkten zurück. 1.
Punkt Gibt das Skalarprodukt zweier Vektoren zurück. 1
dst Berechnet einen Entfernungsvektor. 5
errorf Übermittelt eine Fehlermeldung an die Informationswarteschlange. 4
EvaluateAttributeAtCentroid Wertet am Pixelschwerpunkt aus. 5
EvaluateAttributeAtSample Wertet am indizierten Beispielspeicherort aus. 5
EvaluateAttributeSnapped Wertet am Pixelschwerpunkt mit einem Offset aus. 5
Exp Gibt den Basis-E-Exponenten zurück. 1.
exp2 Basis-2-Exponent (pro Komponente). 1.
f16tof32 Konvertiert den in der unteren Hälfte des uint gespeicherten float16 in einen float-. 5
f32tof16 Konvertiert eine Eingabe in einen float16-Typ. 5
faceforward Gibt -n * sign(dot(i, ng)) zurück. 1.
firstbithigh Ruft die Position des ersten festgelegten Bits ab dem höchsten Bit der Reihenfolge ab und arbeitet nach unten pro Komponente. 5
firstbitlow Gibt die Position des ersten festgelegten Bits zurück, beginnend mit dem niedrigsten Bit der Reihenfolge und der Arbeit nach oben pro Komponente. 5
Boden Gibt die größte ganze Zahl zurück, die kleiner oder gleich x ist. 1.
Fma Gibt die multiplizierte Multiplikation eines b + c-Werts mit * doppelter Genauigkeit zurück. 5
fmod Gibt den Gleitkomma rest von x/y zurück. 1.
Frac Gibt den Bruchteil von x zurück. 1.
frexp Gibt die Mantisse und den Exponenten von x zurück. 2.
fwidth Gibt abs(ddx(x)) + abs(ddy(x)) zurück. 2.
GetRenderTargetSampleCount Gibt die Anzahl der Renderzielbeispiele zurück. 4
GetRenderTargetSamplePosition Gibt eine Beispielposition (x,y) für einen bestimmten Beispielindex zurück. 4
GroupMemoryBarrier Blockiert die Ausführung aller Threads in einer Gruppe, bis alle freigegebenen Gruppenzugriffe abgeschlossen sind. 5
GroupMemoryBarrierWithGroupSync Blockiert die Ausführung aller Threads in einer Gruppe, bis alle freigegebenen Gruppenzugriffe abgeschlossen sind und alle Threads in der Gruppe diesen Aufruf erreicht haben. 5
InterlockedAdd Führt einen garantierten atomaren Add-of-Value zur dest-Ressourcenvariablen aus. 5
InterlockedAnd Führt einen garantierten atomaren und aus. 5
InterlockedCompareExchange Vergleicht die Eingabe atomisch mit dem Vergleichswert und tauscht das Ergebnis aus. 5
InterlockedCompareStore Vergleicht die Eingabe atomisch mit dem Vergleichswert. 5
InterlockedExchange Weist dem Wert dest zu und gibt den ursprünglichen Wert zurück. 5
InterlockedMax Führt ein garantiertes atomares Maximum aus. 5
InterlockedMin Führt eine garantierte atomare Min. aus. 5
InterlockedOr Führt einen garantierten atomaren oder aus. 5
InterlockedXor Führt einen garantierten atomaren Xor aus. 5
isfinite Gibt TRUE zurück, wenn x endlich ist, andernfalls FALSE.
isinf Gibt TRUE zurück, wenn x +INF oder -INF ist, andernfalls FALSE.
Isnan Gibt TRUE zurück, wenn x NAN oder QNAN ist, andernfalls FALSE.
ldexp Gibt x * 2exp zurück
Länge Gibt die Länge des Vektors v zurück.
lerp Gibt x + s(y - x) zurück.
Beleuchtet Gibt einen Beleuchtungsvektor zurück (ambient, diffuse, specular, 1)
Protokoll Gibt den Logarithmus base-e von x zurück.
log10 Gibt den Logarithmus der Basis 10 von x zurück.
log2 Gibt den Logarithmus der Basis 2 von x zurück.
wütend Führt eine arithmetische Multiplikations-/Add-Operation für drei Werte aus. 5
max Wählt den größeren von x und y aus.
Min. Wählt den kleineren von x und y aus.
modf Teilt den Wert x in Bruch- und Ganzzahlteile auf.
msad4 Vergleicht einen 4-Byte-Verweiswert und einen 8-Byte-Quellwert und sammelt einen Vektor von 4 Summen. 5
mul Führt die Matrixmultiplikation mit x und y aus. 1
Lärm Generiert mithilfe des Perlin-Noise-Algorithmus einen zufallsbasierten Wert.
normalize Gibt einen normalisierten Vektor zurück.
Pow Gibt xy zurück.
Printf Sendet eine benutzerdefinierte Shadernachricht an die Informationswarteschlange. 4
Process2DQuadTessFactorsAvg Generiert die korrigierten Mosaikfaktoren für einen Quad-Patch. 5
Process2DQuadTessFactorsMax Generiert die korrigierten Mosaikfaktoren für einen Quad-Patch. 5
Process2DQuadTessFactorsMin Generiert die korrigierten Mosaikfaktoren für einen Quad-Patch. 5
ProcessIsolineTessFactors Generiert die gerundeten Mosaikfaktoren für eine Isolinie. 5
ProcessQuadTessFactorsAvg Generiert die korrigierten Mosaikfaktoren für einen Quad-Patch. 5
ProcessQuadTessFactorsMax Generiert die korrigierten Mosaikfaktoren für einen Quad-Patch. 5
ProcessQuadTessFactorsMin Generiert die korrigierten Mosaikfaktoren für einen Quad-Patch. 5
ProcessTriTessFactorsAvg Generiert die korrigierten Mosaikfaktoren für einen Tripatch. 5
ProcessTriTessFactorsMax Generiert die korrigierten Mosaikfaktoren für einen Tripatch. 5
ProcessTriTessFactorsMin Generiert die korrigierten Mosaikfaktoren für einen Tripatch. 5
Bogenmaß Konvertiert x von Grad in Bogenmaß. 1
rcp Berechnet einen schnellen, ungefähren Reziprok pro Komponente. 5
Spiegeln Gibt einen Reflektionsvektor zurück. 1
refract Gibt den Refraktionsvektor zurück. 1.
Reversebits Kehrt die Reihenfolge der Bits pro Komponente um. 5
Runde Rundet x auf die nächste ganze Zahl 1.
rsqrt Gibt 1 /sqrt(x) zurück. 1.
Sättigen Klammert x an den Bereich [ 0, 1] 1
Zeichen Berechnet das Vorzeichen von x. 1.
Sünde Gibt den Sinus von x zurück. 1.
sincos Gibt den Sinus und den Kosinus von x zurück. 1.
Sinh Gibt den hyperbolischen Sinus von x zurück. 1.
smoothstep Gibt eine reibungslose Hermitinterpolation zwischen 0 und 1 zurück. 1.
sqrt Quadratwurzel (pro Komponente) 1.
Schritt Gibt zurück (x >= a) ? 1 : 0 1.
Tan Gibt den Tangens von x zurück. 1.
tanh Gibt den hyperbolischen Tangens von x zurück. 1.
tex1D(s, t) 1D-Textursuche. 1
tex1D(s, t, ddx, ddy) 1D-Textursuche. 2.
tex1Dbias 1D-Textursuche mit Voreingenommenheit. 2.
tex1Dgrad 1D-Textursuche mit einem Farbverlauf. 2.
tex1Dlod 1D-Textursuche mit LOD. 3.
tex1Dproj 1D-Textursuche mit projektiver Division. 2.
tex2D(s, t) 2D-Textursuche. 1.
tex2D(s, t, ddx, ddy) 2D-Textursuche. 2.
tex2Dbias 2D-Textursuche mit Voreingenommenheit. 2.
tex2Dgrad 2D-Textursuche mit einem Farbverlauf. 2.
tex2Dlod 2D-Textursuche mit LOD. 3
tex2Dproj 2D-Textursuche mit projektiver Division. 2.
tex3D(s, t) 3D-Textursuche. 1.
tex3D(s, t, ddx, ddy) 3D-Textursuche. 2.
tex3Dbias 3D-Textursuche mit Voreingenommenheit. 2.
tex3Dgrad 3D-Textursuche mit Farbverlauf.
tex3Dlod 3D-Textursuche mit LOD.
tex3Dproj 3D-Textursuche mit projektiver Division.
texCUBE(s, t) Cubetextursuche.
texCUBE(s, t, ddx, ddy) Cubetextursuche.
texCUBEbias Cubetextursuche mit Voreingenommenheit.
texCUBEgrad Cubetextursuche mit einem Farbverlauf.
texCUBElod Cubetextursuche mit LOD.
texCUBEproj Cubetextursuche mit projektiver Division.
Umsetzung Gibt die Transponieren der Matrix m zurück. 1
Trunc Schneidet Gleitkommawerte auf ganzzahlige Werte ab. 1

Einschränkungen finden Sie auf der Referenzseite.

Komponenten- und Vorlagentypen

Die systeminternen HLSL-Funktionsdeklarationen verwenden Komponententypen und Vorlagentypen für Eingabeparameterargumente und Rückgabewerte. Die verfügbaren Typen sind in der folgenden Tabelle aufgeführt.

Diese Vorlagentypen BESCHREIBUNG Unterstützen dieser Datentypen
Matrix bis zu 16 Komponenten je nach Deklaration Grundlegende HLSL-Typen
Objekt (object) sampler-Objekt sampler, sampler1D, sampler2D, sampler3D, samplerCUBE
Skalar 1 Komponente Grundlegende HLSL-Typen
Vektor Mindestens 1 Komponente, maximal 4 Komponenten (einschließlich) Grundlegende HLSL-Typen

Weitere Informationen

Referenz für HLSL