D3DX11ComputeNormalMap 函数

注意

D3DX (D3DX 9、D3DX 10 和 D3DX 11) 实用工具库已弃用Windows 8,不支持 Windows 应用商店应用。

注意

建议不要使用此函数,而是使用 DirectXTexComputeNormalMap

将高度映射转换为法线贴图。 每个法线的 (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。

要求

要求
标头
D3DX11tex.h

D3DX11.lib

另请参阅

D3DX 函数