次の方法で共有


XMXDECN4 構造体 (directxpackedvector.h)

符号付き、正規化された値を 10 ビット符号付き x、y-、および z- コンポーネントとして格納するための 4D ベクターと、符号なし、正規化された値を 2 ビット符号なし w コンポーネントとして格納します。

C++ でのプログラミング時に使用 XMXDECN4 できるコンストラクターや演算子などの追加機能の一覧については、「 XMXDECN4拡張機能」を参照してください。

 

構文

struct XMXDECN4 {
  union {
    struct {
      int32_t  x : 10;
      int32_t  y : 10;
      int32_t  z : 10;
      uint32_t w : 2;
    };
             uint32_t v;
  };
  void       XMXDECN4();
  void       XMXDECN4(
    const XMXDECN4 & unnamedParam1
  );
  XMXDECN4 & operator=(
    const XMXDECN4 & unnamedParam1
  );
  void       XMXDECN4(
    XMXDECN4 && unnamedParam1
  );
  XMXDECN4 & operator=(
    XMXDECN4 && unnamedParam1
  );
  void       XMXDECN4(
    uint32_t Packed
  );
  void       XMXDECN4(
    float _x,
    float _y,
    float _z,
    float _w
  ) noexcept;
  void       XMXDECN4(
    const float *pArray
  ) noexcept;
  void       operator uint32_t() noexcept;
  XMXDECN4 & operator=(
    uint32_t Packed
  ) noexcept;
};

メンバー

x

ベクトルのx座標を記述する範囲[-511,511]の符号付き整数値。

y

ベクトルのy座標を記述する範囲[-511,511]の符号付き整数値。

z

ベクトルの z 座標を記述する範囲 [-511, 511] の符号付き整数値。

w

ベクトルの w 座標を記述する範囲 [0, 3] の符号なし整数値。

v

4D ベクトルを表す符号なし 32 ビット整数。

void XMXDECN4()

の既定の XMXDECN4コンストラクター。

XMXDECN4 の既定のコンストラクター。

メモ このコンストラクターは、C++ でのみ使用できます。
 

void XMXDECN4( const XMXDECN4 & unnamedParam1)

XMXDECN4 のコンストラクター。

XMXDECN4のコンストラクター。

メモ このコンストラクターは、C++ でのみ使用できます。

XMXDECN4 & operator=( const XMXDECN4 & unnamedParam1)

void XMXDECN4( XMXDECN4 && unnamedParam1)

XMXDECN4 のコンストラクター。

XMXDECN4のコンストラクター。

メモ このコンストラクターは、C++ でのみ使用できます。

XMXDECN4 & operator=( XMXDECN4 && unnamedParam1)

の 1 つのインスタンスから の現在XMXDECN4XMXDECN4インスタンスにベクター コンポーネント データを割り当てます。

メモ この演算子は C++ でのみ使用できます。

void XMXDECN4( uint32_t パック)

パック形式のコンポーネント データをuint32_t含む変数から、 のXMXDECN4新しいインスタンスを初期化します。

このコンストラクターは、パック形式のコンポーネント データを含む変数からuint32_t、XMXDECN4の新しいインスタンスを初期化します。

メモ このコンストラクターは、C++ でのみ使用できます。
 

void XMXDECN4( float _x, float _y, float _z, float _w) noexcept

4 つの正規化されたfloat引数から のXMXDECN4新しいインスタンスを初期化します。

このコンストラクターは、正規化された float 4 つの引数から XMXDECN4 の新しいインスタンスを初期化します。

メモ このコンストラクターは、C++ でのみ使用できます。
 

void XMXDECN4( const float *pArray) noexcept

4 つの要素float配列引数から XMXDECN4 の新しいインスタンスを初期化します。

このコンストラクターは、4 つの要素float配列引数から XMXDECN4 の新しいインスタンスを初期化します。

メモ このコンストラクターは、C++ でのみ使用できます。

void 演算子 uint32_t() noexcept

インスタンスの uint32_t コンポーネントをパック形式で格納している の XMXDECN4 インスタンスを返します。

XMXDECN4 インスタンスのuint32_tコンポーネントをパック形式で格納している のインスタンスを返します。

メモ この演算子は C++ でのみ使用できます。
 

XMXDECN4 & operator=( uint32_t Packed) noexcept

のインスタンス uint32_t にパックされたベクター コンポーネント データを の現在のインスタンス XMXDECN4に割り当てます。

この演算子は、 のインスタンス uint32_t にパックされたベクター コンポーネント データを 、XMXDECN4の現在のインスタンスに割り当てます。

メモ この演算子は C++ でのみ使用できます。
 

注釈

浮動小数点引数を使用するコンストラクターには XMXDECN4 、正規化された入力が必要です。これは、x-、y-、z-components の場合は [-1.0.-1.0] の範囲内、w コンポーネントの場合は 0.0 である必要があります。 インスタンス化中に、x、y、z の各コンポーネントを指定する入力に 511.0f を掛け、w コンポーネントに 3.0f を掛けると、これらの結果は丸められ、 の XMXDECN4適切なメンバーに割り当てられます。

XMXDECN4X、y、z の各コンポーネントを 511.0f で除算し、w コンポーネントを 3.0f で除算して結果を丸め、コンポーネントをインスタンスに割り当てる XMLoadXDecN4 を使用して、正規化された値から XMVECTOR のインスタンスを読み込む場合にXMVECTOR使用できます。

XMVECTOR正規化された値を含むインスタンスは、XMStoreXDecN4 を使用して に格納できます。このインスタンスは、値を適切なXMXDECN4メンバーにXMXDECN4割り当てる前に、x、y、z-components に 511.0f、w コンポーネントを 3.0f で乗算し、結果を丸めます。

名前 空間: DirectX::P ackedVector を使用する

プラットフォームの要件

Microsoft Visual Studio 2010 または Microsoft Visual Studio 2012 と Windows SDK for Windows 8。 Win32 デスクトップ アプリ、Windows ストア アプリ、Windows Phone 8 アプリでサポートされます。

要件

   
Header directxpackedvector.h

こちらもご覧ください

DirectXMath ライブラリの構造

XMXDECN4拡張機能