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