Freigeben über


max (sm4 - asm)

Komponentenbezogenes Floatmaximum.

max[_sat] dest[.mask], [-]src0[_abs][.swizzle], [-]src1[_abs][.swizzle],
Element BESCHREIBUNG
Dest
[in] Das Ergebnis des Vorgangs.
Dest = src0> = src1 ? src0 : src1
src0
[in] Die Komponenten, die mit src1 verglichen werden sollen.
src1
[in] Die Komponenten, die mit src0 verglichen werden sollen.

Bemerkungen

= wird anstelle von > verwendet, wenn min(x,y) = x dann max(x,y) = y.

NaN hat eine besondere Handhabung. Wenn ein Quellopernd NaN ist, wird der andere Quellopernd zurückgegeben, und die Auswahl erfolgt pro Komponente. Wenn beide NaN sind, wird eine beliebige NaN-Darstellung zurückgegeben.

Denormale werden mit vor dem Vergleich beibehaltenen Vorzeichen geleert. Das in dest geschriebene Ergebnis kann jedoch entnormt oder nicht gespült werden.

Die folgende Tabelle zeigt die Ergebnisse, die beim Ausführen der Anweisung mit verschiedenen Zahlenklassen erhalten werden, vorausgesetzt, dass weder Überlauf noch Unterlauf auftreten. F bedeutet endliche reelle Zahl.

src0 src1-> -Inf F +inf NaN
-Inf -inf src1 +inf -inf
F src0 src0 oder src1 +inf src0
+inf +inf +inf +inf +inf
NaN -inf src1 +inf NaN

Diese Anweisung gilt für die folgenden Shaderphasen:

Vertexshader Geometrie-Shader Pixelshader
x x x

Minimales Shadermodell

Diese Funktion wird in den folgenden Shadermodellen unterstützt.

Shadermodell Unterstützt
Shadermodell 5 ja
Shadermodell 4.1 ja
Shadermodell 4 ja
Shadermodell 3 (DirectX HLSL) Nein
Shadermodell 2 (DirectX HLSL) Nein
Shadermodell 1 (DirectX HLSL) Nein

Shadermodell 4-Assembly (DirectX HLSL)