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.

XMFLOAT3PK kekosongan()

Konstruktor default untuk XMFLOAT3PK.

Konstruktor default untuk XMFLOAT3PK.

Catatan Konstruktor ini hanya tersedia di bawah C++.
 

void XMFLOAT3PK( const XMFLOAT3PK & unnamedParam1)

Konstruktor untuk XMFLOAT3PK.

Konstruktor untuk XMFLOAT3PK.

Catatan Konstruktor ini hanya tersedia di bawah C++.

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.

Catatan Operator ini hanya tersedia di bawah C++.

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.

Catatan Operator ini hanya tersedia di bawah C++.

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.

Catatan Konstruktor ini hanya tersedia di bawah C++.
 

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.

Catatan Konstruktor ini hanya tersedia di bawah C++.
 

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 .

Catatan Konstruktor ini hanya tersedia di bawah C++.

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.

Catatan Operator ini hanya tersedia di bawah C++.
 

XMFLOAT3PK & operator=( uint32_t Packed) noexcept

Operator ini menetapkan data komponen vektor yang dikemas dalam instans uint32_t ke instans XMFLOAT3PK saat ini.

Catatan Operator ini hanya tersedia di bawah C++.
 

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 XMVECTORXMFLOAT3PK 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

Lihat juga

Struktur Pustaka DirectXMath

Ekstensi XMFLOAT3PK