Bagikan melalui


Fungsi XMDEC4::XMDEC4(constfloat*) (directxpackedvector.h)

Menginisialisasi instans baru XMDEC4 dari argumen array empat elemen float .

Konstruktor ini menginisialisasi instans baru XMDEC4 dari argumen array float dari empat elemen.

Catatan Konstruktor ini hanya tersedia di bawah C++.

Sintaks

void XMDEC4(
  const float *pArray
) noexcept;

Parameter

pArray

Empat array floating point elemen yang berisi nilai yang digunakan untuk menginisialisasi empat komponen instans baru XMDEC4.

Menampilkan nilai

Tidak ada

Keterangan

Karena XMDEC4 mewakili vektor bilangan bulat empat komponen, bagian pecahan dari elemen pArray akan dipotong.

Elemen array dipetakan ke komponen vektor dari instans baru XMDEC4 sebagai berikut:

Komponen Vektor Elemen Array Rentang
x pArray[0] -511, 511
y pArray[1] -511, 511
z pArray[2] -511, 511
w pArray[3] -1, 1

Elemen pArray akan dijepit ke rentang yang diizinkan sebelum penugasan kepada anggota XMDEC4 yang sesuai.

Pseudocode berikut menunjukkan pengoperasian konstruktor ini, yang memanfaatkan penyatuan empat komponen vektor XMDEC4 dengan instans uint32_t dalam definisi struktur:

XMDEC4 instance;
_x1=min( max( pArray[0], -511.0 ), 511.0 );
_y1=min( max( pArray[1], -511.0 ), 511.0 );
_z1=min( max( pArray[2], -511.0 ), 511.0 );
_w1=min( max( pArray[3], -1.0 ), 1.0 );

instance.v =  ( (int32_t)_w1 << 30) |
              (((int32_t)_z1 & 0x3FF) << 20) |
              (((int32_t)_y1 & 0x3FF) << 10) |
              (((int32_t)_x1 & 0x3FF));

Persyaratan

   
Target Platform Windows
Header directxpackedvector.h

Lihat juga

XMDEC4

Konstruktor XMDEC4