struktur XMFLOAT3PK (directxpackedvector.h)
Menjelaskan vektor 3D dengan komponen X dan Y yang disimpan sebagai angka titik mengambang 11 bit, dan komponen Z disimpan sebagai nilai floating-point 10 bit.
Untuk daftar fungsionalitas tambahan, seperti konstruktor dan operator, tersedia menggunakan XMFLOAT3PK
saat pemrograman di C++, lihat Ekstensi XMFLOAT3PK.
Sintaks
struct XMFLOAT3PK {
union {
struct {
uint32_t xm : 6;
uint32_t xe : 5;
uint32_t ym : 6;
uint32_t ye : 5;
uint32_t zm : 5;
uint32_t ze : 5;
};
uint32_t v;
};
void XMFLOAT3PK();
void XMFLOAT3PK(
const XMFLOAT3PK & unnamedParam1
);
XMFLOAT3PK & operator=(
const XMFLOAT3PK & unnamedParam1
);
void XMFLOAT3PK(
XMFLOAT3PK && unnamedParam1
);
XMFLOAT3PK & operator=(
XMFLOAT3PK && unnamedParam1
);
void XMFLOAT3PK(
uint32_t Packed
) noexcept;
void XMFLOAT3PK(
float _x,
float _y,
float _z
) noexcept;
void XMFLOAT3PK(
const float *pArray
) noexcept;
void operator uint32_t() noexcept;
XMFLOAT3PK & operator=(
uint32_t Packed
) noexcept;
};
Anggota
6 xm
Mantissa 6-bit untuk komponen x.
5 xe
Eksponen bias 5-bit untuk komponen x.
6 ym
Mantissa 6-bit untuk komponen y.
5 ye
Eksponen bias 5-bit untuk komponen y.
5 zm
Mantissa 5-bit untuk komponen z.
5 ze
Eksponen bias 5-bit untuk komponen z.
v
Bilangan bulat 32-bit yang tidak ditandatangani mewakili vektor 3D.
Konstruktor default untuk XMFLOAT3PK
.
Konstruktor default untuk XMFLOAT3PK.
void XMFLOAT3PK( const XMFLOAT3PK & unnamedParam1)
Konstruktor untuk XMFLOAT3PK
.
Konstruktor untuk XMFLOAT3PK.
XMFLOAT3PK & operator=( const XMFLOAT3PK & unnamedParam1)
XMFLOAT3PK batal( XMFLOAT3PK && unnamedParam1)
Menetapkan data komponen vektor dari satu instans XMFLOAT3SE
ke instans saat ini dari XMFLOAT3SE
.
Operator ini menetapkan data komponen vektor dari satu instans XMFLOAT3SE ke instans saat ini dari XMFLOAT3SE
.
XMFLOAT3PK & operator=( XMFLOAT3PK && unnamedParam1)
Menetapkan data komponen vektor dari satu instans XMFLOAT3PK
ke instans saat ini dari XMFLOAT3PK
.
Operator ini menetapkan data komponen vektor dari satu instans XMFLOAT3PK ke instans saat ini dari XMFLOAT3PK
.
noexcept XMFLOAT3PK(uint32_t Packed) batal
Menginisialisasi instans baru dari XMFLOAT3PK
variabel yang uint32_t
berisi data komponen dalam format yang dikemas.
Konstruktor ini menginisialisasi instans baru XMFLOAT3PK dari variabel yang uint32_t
berisi data komponen dalam format yang dikemas.
void XMFLOAT3PK(float _x, float _y, float _z) noexcept
Menginisialisasi instans baru dari XMFLOAT3PK
tiga float
argumen.
Konstruktor ini menginisialisasi instans baru XMFLOAT3PK dari tiga float
argumen.
void XMFLOAT3PK( const float *pArray) noexcept
Menginisialisasi instans baru XMFLOAT3PK dari argumen array tiga elemen float
.
Konstruktor ini menginisialisasi instans baru XMFLOAT3PK dari argumen array tiga elemen float
.
noexcept operator void uint32_t()
Mengembalikan instans uint32_t
yang berisi komponen instans XMFLOAT3PK
dalam format yang dikemas.
Operator ini mengembalikan instans uint32_t
yang berisi komponen instans XMFLOAT3PK dalam format yang dikemas.
XMFLOAT3PK & operator=( uint32_t Packed) noexcept
Operator ini menetapkan data komponen vektor yang dikemas dalam instans uint32_t
ke instans XMFLOAT3PK saat ini.
Keterangan
Tidak ada bit tanda. Ini berarti semua angka presisi parsial positif. Komponen z disimpan dalam bit yang paling signifikan, dan komponen x disimpan di bit yang paling tidak signifikan seperti ini:
(Z10Y11X11): [31] ZZZZZzzz zzYYYYYy yyyyyXXX XXxxxxxx [0]
Atau secara rinci:
- Bit 0-5 dari v adalah mantissa 6 bit dari nilai floating point komponen x : anggota xm struktur.
- Bit 6-10 v adalah eksponen 5 bit dari nilai titik mengambang komponen x anggota xe dari struktur.
- Bit 11-16 dari v adalah mantissa 6-bit dari nilai floating point komponen y : anggota ym struktur.
- Bit 17-21 dari v adalah eksponen 5 bit dari nilai titik mengambang komponen y : anggota struktur yang Anda gunakan.
- Bit 22-26 v adalah mantissa 5 bit dari nilai titik mengambang komponen z : anggota zm struktur.
- Bit 27-31 dari v adalah eksponen 5 bit dari nilai titik mengambang komponen z : anggota ze struktur.
XMFLOAT3PK
dapat dimuat ke dalam instans XMVECTOR dengan menggunakan XMLoadFloat3PK.
Instans dapat disimpan ke dalam instans XMVECTOR
XMFLOAT3PK
dengan XMStoreFloat3PK.
MIN_F10 / MIN_F11 = 6,10352e-5
MAX_F10 = 64512
MAX_F11 = 65024
Namespace: Gunakan DirectX::P ackedVector
Persyaratan Platform
Microsoft Visual Studio 2010 atau Microsoft Visual Studio 2012 dengan Windows SDK untuk Windows 8. Didukung untuk aplikasi desktop Win32, aplikasi Windows Store, dan aplikasi Windows Phone 8.Persyaratan
Header | directxpackedvector.h |