Condividi tramite


Funzione EvaluateAttributeSnapped

Valuta il centroid pixel con un offset.

Sintassi

numeric EvaluateAttributeSnapped(
  in attrib numeric value,
  in 
            int2 offset
);

Parametri

valore [in]

Tipo: attrib numerico

Valore di input.

offset [in]

Tipo: int2

Offset 2D dal centro pixel usando una griglia 16x16.

Commenti

L'intervallo per il parametro offset deve essere definito dal codice di byte seguente.

Vengono usati solo i 4 bit meno significativi dei primi due componenti (U, V) dell'offset pixel. La conversione dal punto fisso a 4 bit a float è la seguente (MSB... LSB), dove msB fa parte della frazione e determina il segno:

  • 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)

Nota

I bordi sinistro e superiore di un pixel sono inclusi nell'offset; tuttavia, i bordi inferiore e destro non sono inclusi. Tutti gli altri bit nell'intero a 32 bit vengono ignorati e i valori di offset V.

 

Un'implementazione può accettare l'offset fornito dallo shader e ottenere un valore a virgola fissa a 32 bit completo (28.4), che si estende sull'intervallo valido, eseguendo il calcolo seguente:

iU = (iU<<28)>>28  // keep lowest 4 bits and sign extend, which yields [-8..7]

Se un'implementazione deve eseguire il mapping dell'offset a un offset a virgola mobile, esegue il calcolo seguente:

fU = ((float)iU)/16

Modello di shader minimo

Questa funzione è supportata nei modelli shader seguenti.

Modello di shader Supportato
Modelli shader 5 e versioni successive dello shader

 

Questa funzione è supportata nei tipi di shader seguenti:

Vertice Scafo Dominio Geometria Pixel Calcolo
x

 

Vedi anche

Funzioni intrinseche

Modello shader 5