次の方法で共有


D3DXSHEvalDirection 関数 (D3dx9math.h)

Note

D3DX (D3DX 9、D3DX 10、D3DX 11) ユーティリティ ライブラリは非推奨であり、Windows ストア アプリではサポートされていません。

Note

この関数を使用する代わりに、 球面調和演算 ライブラリ関数 XMSHEvalDirection を使用することをお勧めします。

入力方向ベクトルから球面調和(SH)基底関数を評価します。

構文

FLOAT* D3DXSHEvalDirection(
  _Out_       FLOAT       *pOut,
  _In_        UINT        Order,
  _In_  const D3DXVECTOR3 *pDir
);

パラメーター

pOut [out]

型: FLOAT*

球面調和 (SH) 出力係数へのポインター。 この評価では、Order² 係数が生成されます。 「解説」を参照してください。

順序 [入力]

型: UINT

SH評価の順序。 D3DXSH_MAXORDERまでのD3DXSH_MINORDERの範囲内である必要があります(両端を含む)。 この評価では、Order² 係数が生成されます。 評価の次数は Order - 1 です。

pDir [in]

型: const D3DXVECTOR3*

(x、y、z)SH基底関数を評価する方向ベクトル。 正規化する必要があります。 「解説」を参照してください。

戻り値

型: FLOAT*

SH 出力係数へのポインター。 「解説」を参照してください。

Remarks

基底関数 Ylm の各係数は、メモリ位置 l² + m + l に格納されます。ここで、

  • l は基底関数の次数です。
  • m は、指定された l 値の基底関数インデックスであり、-l から l までの範囲 (両端を含む) です。

次の図に示すように、単位半径を持つ球体では、方向は ta、 右利き方向の z 軸を中心とした角度、φ は z からの角度で指定できます。

単位半径を持つ球体の図

次の式は、単位球上のデカルト (x, y, z) と球形 (θ, phi) 座標の関係を示しています。 角度θは 0 ~ 2 pi の範囲で変化し、phi は 0 から pi の範囲で変化します。

デカルト座標と球面座標の関係の数式

要件

要件
ヘッダー
D3dx9math.h
ライブラリ
D3dx9.lib

関連項目

数値演算関数

事前計算済みの放射転送 (Direct3D 9)