Bagikan melalui


XMXDECN4::XMXDECN4(constfloat*) (directxpackedvector.h)

Menginisialisasi instans baru XMXDECN4 dari argumen array empat elemen float .

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

Catatan Konstruktor ini hanya tersedia di bawah C++.

Sintaks

void XMXDECN4(
  const float *pArray
) noexcept;

Parameter

pArray

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

Nilai kembali

Tidak ada

Keterangan

Elemen array dipetakan ke komponen vektor instans baru XMXDECN4 sebagai berikut:

Komponen Vektor Elemen Array Rentang Deskripsi
x pArray[0] -0.0, 1.0 Selama instansiasi, pArray[0] dijepit antara -1 dan 1, dikalikan dengan 511,0f dan ditetapkan ke x.
y pArray[1] -0.0, 1.0 Selama instansiasi, pArray[1] dijepit antara -1 dan 1, dikalikan dengan 511,0f, dan kemudian ditetapkan ke y.
z pArray[2] -0.0, 1.0 Selama instansiasi, pArray[2] dijepit antara -1 dan 1, dikalikan dengan 511,0f, lalu ditetapkan ke z.
w pArray[3] 0.0, 1.0 Selama instansiasi, pArray[3] dijepit antara 0 dan 1, dan kemudian ditetapkan ke w. Argumen ini harus antara 0,0 dan 1,0; selama instans instans XMXDECN4, instans dikalikan dengan 3,0f dan kemudian disimpan sebagai anggota w struktur.
XMXDECN4 instance;
_x1=min( max( pArray[0], -1.0 ), 1.0 );
_y1=min( max( pArray[1], -1.0 ), 1.0 );
_z1=min( max( pArray[2], -1.0 ), 1.0 );
_w1=min( max( pArray[3], 0.0 ), 1.0 );
_x1 = round( _x1 *  511.0f);
_y1 = round( _y1 *  511.0f);
_z1 = round( _z1 *  511.0f);
_w1 = round( _w1 *  3.0f);

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

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header directxpackedvector.h

Lihat juga

Referensi

XMXDECN4

Konstruktor XMXDECN4