D3DXSHEvalDirection 函数 (D3dx9math.h)
注意
D3DX (D3DX 9、D3DX 10 和 D3DX 11) 实用工具库已弃用,并且不支持 Windows 应用商店应用。
注意
建议使用 球面调音数学 库函数 XMSHEvalDirection,而不是使用此函数。
从输入方向向量计算球面和谐 (SH) 基函数。
语法
FLOAT* D3DXSHEvalDirection(
_Out_ FLOAT *pOut,
_In_ UINT Order,
_In_ const D3DXVECTOR3 *pDir
);
参数
-
pOut [out]
-
类型: FLOAT*
指向球面调和 (SH) 输出系数的指针。 计算将生成 Order² 系数。 请参阅“备注”。
-
Order [in]
-
类型: UINT
SH 评估的顺序。 必须在 D3DXSH_MINORDER 范围内才能D3DXSH_MAXORDER(含)。 计算将生成 Order² 系数。 评估程度为 Order - 1。
-
pDir [in]
-
类型: const D3DXVECTOR3*
(x、y、z) 计算 SH 基函数的方向向量。 必须规范化。 请参阅“备注”。
返回值
类型: FLOAT*
指向 SH 输出系数的指针。 请参阅“备注”。
注解
基函数 Ylm 的每个系数存储在内存位置 l² + m + l,其中:
- l 是基函数的度数。
- m 是给定 l 值的基础函数索引,范围从 -l 到 l(含)。
在具有单位半径的球体上,如下图所示,只需使用 “ta”( 右手方向的 z 轴的角度)和 phi(从 z 开始的角度)来指定方向。
以下公式显示了笛卡尔 (x、y、z) 与球面 (单位球体上的ta、phi) 坐标之间的关系。 角度 theta 在 0 到 2 pi 的范围内变化,而 phi 在 0 到 pi 之间变化。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅