Bagikan melalui


struktur XMFLOAT3SE (directxpackedvector.h)

Menjelaskan vektor 3D dari tiga komponen floating-point dengan mantissa 9 bit, masing-masing berbagi eksponen 5-bit yang sama.

Untuk daftar fungsionalitas tambahan seperti konstruktor dan operator yang tersedia saat XMFLOAT3SE Anda memprogram di C++, lihat Ekstensi XMFLOAT3SE.

Sintaks

struct XMFLOAT3SE {
  union {
    struct {
      uint32_t xm : 9;
      uint32_t ym : 9;
      uint32_t zm : 9;
      uint32_t e : 5;
    };
      uint32_t v;
  };
  void         XMFLOAT3SE();
  void         XMFLOAT3SE(
    const XMFLOAT3SE & unnamedParam1
  );
  XMFLOAT3SE & operator=(
    const XMFLOAT3SE & unnamedParam1
  );
  void         XMFLOAT3SE(
    XMFLOAT3SE && unnamedParam1
  );
  XMFLOAT3SE & operator=(
    XMFLOAT3SE && unnamedParam1
  );
  void         XMFLOAT3SE(
    uint32_t Packed
  ) noexcept;
  void         XMFLOAT3SE(
    float _x,
    float _y,
    float _z
  ) noexcept;
  void         XMFLOAT3SE(
    const float *pArray
  ) noexcept;
  void         operator uint32_t() noexcept;
  XMFLOAT3SE & operator=(
    uint32_t Packed
  ) noexcept;
};

Anggota

9 xm

Komponen x 9-bit.

9 ym

Komponen y 9-bit.

9 zm

Komponen z 9-bit.

5 e

Eksponen bersama 5-bit.

v

Bilangan bulat 32-bit yang tidak ditandatangani mewakili vektor 3D.

XMFLOAT3SE batal()

Konstruktor default untuk XMFLOAT3SE.

Konstruktor default untuk XMFLOAT3SE.

Catatan Konstruktor ini hanya tersedia di bawah C++.
 

XMFLOAT3SE batal( const XMFLOAT3SE & unnamedParam1)

Konstruktor untuk XMFLOAT3SE.

Konstruktor untuk XMFLOAT3SE.

Catatan Konstruktor ini hanya tersedia di bawah C++.

XMFLOAT3SE & operator=( const XMFLOAT3SE & unnamedParam1)

XMFLOAT3SE batal( XMFLOAT3SE && unnamedParam1)

Konstruktor untuk XMFLOAT3SE.

Konstruktor untuk XMFLOAT3SE.

Catatan Konstruktor ini hanya tersedia di bawah C++.

XMFLOAT3SE & operator=( XMFLOAT3SE && unnamedParam1)

noexcept XMFLOAT3SE batal(uint32_t Packed)

Menginisialisasi instans baru dari XMFLOAT3SE variabel yang uint32_t berisi data komponen dalam format yang dikemas.

Konstruktor ini menginisialisasi instans baru XMFLOAT3SE dari variabel yang uint32_t berisi data komponen dalam format yang dikemas.

Catatan Konstruktor ini hanya tersedia di bawah C++.
 

XMFLOAT3SE batal (float _x, float _y, float _z) noexcept

Menginisialisasi instans baru dari XMFLOAT3SE tiga float argumen.

Konstruktor ini menginisialisasi instans baru XMFLOAT3SE dari tiga float argumen.

Catatan Konstruktor ini hanya tersedia di bawah C++.
 

void XMFLOAT3SE( const float *pArray) noexcept

Menginisialisasi instans baru XMFLOAT3SE dari argumen array tiga elemen float .

Konstruktor ini menginisialisasi instans baru XMFLOAT3SE dari argumen array float tiga elemen.

Catatan Konstruktor ini hanya tersedia di bawah C++.

noexcept operator void uint32_t()

Mengembalikan instans uint32_t yang berisi komponen instans XMFLOAT3SE dalam format yang dikemas.

Operator ini mengembalikan instans uint32_t yang berisi komponen instans XMFLOAT3SE dalam format yang dikemas.

Catatan Operator ini hanya tersedia di bawah C++.
 

XMFLOAT3SE & operator=( uint32_t Packed) noexcept

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

Catatan Operator ini hanya tersedia di bawah C++.
 

Keterangan

Nilai dari tiga komponen instans XMFLOAT3SE disimpan dalam v instans dalam format berikut: anggota XMFLOAT3SEe struktur -- eksponen yang dibagikan oleh mantissas nilai titik mengambang dari ketiga komponen XMFLOAT3SE -- disimpan dalam bit urutan tertinggi dari nilai pengembalian, dan mantissa komponen x yang disimpan dalam bit yang paling tidak signifikan.


   (E5Z9Y9X9): [31] EEEEEzzz zzzzzzyy yyyyyyyx xxxxxxxx [0]

Atau secara rinci:

  • Bit 0-8 dari Packed adalah mantissa 9 bit dari nilai floating point komponen x : anggota xm dari struktur saat ini.
  • Bit 9-17 dari Packed adalah mantissa 9 bit dari nilai floating point komponen y : anggota ym dari struktur saat ini.
  • Bit 18-26 dari Packed adalah mantissa 9 bit dari nilai floating point komponen z : anggota zm dari struktur saat ini.
  • Bit 27-31 dari Packed adalah eksponen 5 bit yang digunakan dengan mantissa tersimpan (xm, ym, zm) untuk mewakili ukuran setiap komponen : e anggota struktur saat ini.
Karena tidak ada bit tanda dalam format untuk menyimpan komponen dalam XMFLOAT3SE struktur, semua nilai komponen positif.

XMFLOAT3SE dapat dimuat ke dalam instans XMVECTOR dengan menggunakan XMLoadFloat3SE.

Instans dapat disimpan ke dalam instans XMVECTORXMFLOAT3SE dengan XMStoreFloat3SE.

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 XMFLOAT3SE