Freigeben über


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

Systeminterne Funktionen

Shadermodell 5