Bagikan melalui


Fungsi EvaluateAttributeSnapped

Mengevaluasi pada sentroid piksel dengan offset.

Sintaks

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

Parameter

value [in]

Jenis: attrib numerik

Nilai input.

offset [in]

Jenis: int2

Offset 2D dari pusat piksel menggunakan kisi 16x16.

Keterangan

Rentang untuk parameter offset harus ditentukan oleh kode byte berikut.

Hanya 4 bit paling tidak signifikan dari dua komponen pertama (U, V) dari offset piksel yang digunakan. Konversi dari titik tetap 4-bit ke float adalah sebagai berikut (MSB... LSB), di mana MSB adalah bagian dari pecahan dan menentukan tanda:

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

Catatan

Tepi kiri dan atas piksel disertakan dalam offset; namun, tepi bawah dan kanan tidak disertakan. Semua bit lain dalam bilangan bulat 32-bit yang Anda dan nilai offset V diabaikan.

 

Implementasi dapat mengambil offset yang disediakan oleh shader dan mendapatkan nilai titik tetap 32-bit penuh (28,4), yang mencakup rentang yang valid, dengan melakukan perhitungan berikut:

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

Jika implementasi harus memetakan offset ke offset floating-point, implementasi harus melakukan penghitungan berikut:

fU = ((float)iU)/16

Minimum Shader Model

Fungsi ini didukung dalam model shader berikut.

Shader Model Didukung
Model Shader 5 dan model shader yang lebih tinggi ya

 

Fungsi ini didukung dalam jenis shader berikut:

Puncak Hull Domain Geometri Pixel Compute
x

 

Lihat juga

Fungsi Intrinsik

Model Shader 5