注意
D3DX (D3DX 9、D3DX 10 和 D3DX 11) 实用工具库已弃用Windows 8,不支持 Windows 应用商店应用。
注意
建议不要使用此函数,而是使用 DirectXTex 库 ComputeNormalMap。
将高度映射转换为法线贴图。 每个法线的 (x,y,z) 分量映射到输出纹理的 (r,g,b) 通道。
语法
HRESULT D3DX11ComputeNormalMap(
  _In_ ID3D11DeviceContext *pContext,
  _In_ ID3D11Texture2D     *pSrcTexture,
  _In_ UINT                Flags,
  _In_ UINT                Channel,
  _In_ FLOAT               Amplitude,
  _In_ ID3D11Texture2D     *pDestTexture
);
参数
- 
pContext [in] 
- 
类型: ID3D11DeviceContext* 指向 ID3D11DeviceContext 接口的指针,表示源高度贴图纹理。 
- 
pSrcTexture [in] 
- 
类型: ID3D11Texture2D* 指向 ID3D11Texture2D 接口的指针,表示源高度贴图纹理。 
- 
Flags [in] 
- 
类型: UINT 控制法线映射生成的一个或多个D3DX_NORMALMAP标志。 
- 
通道 [in] 
- 
类型: UINT 一个D3DX_CHANNEL标志,用于指定高度信息的来源。 
- 
Amplitude [in] 
- 
类型: FLOAT ) 法线映射中的值增加 (或减少的常量值乘数。 较高的值通常使凸起更可见,较低的值通常使凹凸不太可见。 
- 
pDestTexture [in] 
- 
类型: ID3D11Texture2D* 指向 ID3D11Texture2D 接口的指针,表示目标纹理。 
返回值
类型: HRESULT
如果函数成功,则返回值D3D_OK。 如果函数失败,则返回值可以是以下值:D3DERR_INVALIDCALL。
备注
此方法使用内核大小为 3x3 的中央差值计算法线。 目标中的 RGB 通道包含有偏差 (x,y,z) 法线的分量。 中心差异分母硬编码为 2.0。
要求
| 要求 | 值 | 
|---|---|
| 标头 | 
 | 
| 库 | 
 |