EvaluateAttributeSnapped-Funktion
Wertet am Pixelschwerpunkt mit einem Offset aus.
Syntax
numeric EvaluateAttributeSnapped(
in attrib numeric value,
in
int2 offset
);
Parameter
-
Wert [in]
-
Typ: attrib numeric
Der Eingabewert.
-
Offset [in]
-
Typ: int2
Ein 2D-Offset vom Pixelmittelpunkt mit einem 16x16-Raster.
Bemerkungen
Der Bereich für den Offsetparameter muss durch den folgenden Bytecode definiert werden.
Es werden nur die am wenigsten signifikanten 4 Bits der ersten beiden Komponenten (U, V) des Pixeloffsets verwendet. Die Konvertierung vom 4-Bit-Fixpunkt zu float ist wie folgt (MSB... LSB), wobei der MSB sowohl Teil des Bruchteils ist als auch das Vorzeichen bestimmt:
- 1000 = -0,5f (-8 / 16)
- 1001 = -0,4375f (-7 / 16)
- 1010 = -0,375f (-6 / 16)
- 1011 = -0,3125f (-5 / 16)
- 1100 = -0,25f (-4 / 16)
- 1101 = -0,1875f (-3 / 16)
- 1110 = -0,125f (-2 / 16)
- 1111 = -0,0625f (-1 / 16)
- 0000 = 0,0f ( 0 / 16)
- 0001 = 0,0625f ( 1 / 16)
- 0010 = 0,125f ( 2 / 16)
- 0011 = 0,1875f ( 3 / 16)
- 0100 = 0,25f ( 4 / 16)
- 0101 = 0,3125f ( 5 / 16)
- 0110 = 0,375f ( 6 / 16)
- 0111 = 0,4375f ( 7 / 16)
Hinweis
Der linke und der obere Rand eines Pixels sind im Offset enthalten; der untere und rechte Rand ist jedoch nicht enthalten. Alle anderen Bits in den 32-Bit-Ganzzahl- und V-Offsetwerten werden ignoriert.
Eine Implementierung kann den vom Shader bereitgestellten Offset verwenden und einen vollständigen 32-Bit-Fixpunktwert (28,4) abrufen, der den gültigen Bereich überspannt, indem die folgende Berechnung ausgeführt wird:
iU = (iU<<28)>>28 // keep lowest 4 bits and sign extend, which yields [-8..7]
Wenn eine Implementierung den Offset einem Gleitkommaoffset zuordnen muss, führt sie die folgende Berechnung aus:
fU = ((float)iU)/16
Minimales Shadermodell
Diese Funktion wird in den folgenden Shadermodellen unterstützt.
Shadermodell | Unterstützt |
---|---|
Shadermodell 5 und höher | ja |
Diese Funktion wird in den folgenden Shadertypen unterstützt:
Scheitelpunkt | Hull | Domain | Geometrie | Pixel | Compute |
---|---|---|---|---|---|
x |
Siehe auch