D3DX10ComputeNormalMap 函数

将高度映射转换为法线贴图。 每个法线的 (x,y,z) 分量映射到输出纹理的 (r,g,b) 通道。

语法

HRESULT D3DX10ComputeNormalMap(
  _In_ ID3D10Texture2D *pSrcTexture,
  _In_ UINT            Flags,
  _In_ UINT            Channel,
  _In_ FLOAT           Amplitude,
  _In_ ID3D10Texture2D *pDestTexture
);

parameters

pSrcTexture [in]

类型: ID3D10Texture2D*

指向 ID3D10Texture2D 接口的指针,表示源高度贴图纹理。

Flags [in]

类型: UINT

控制法线映射生成的一个或多个D3DX_NORMALMAP标志。

通道 [in]

类型: UINT

一个D3DX_CHANNEL标志,用于指定高度信息的来源。

Amplitude [in]

类型: FLOAT

) 法线映射中的值增加 (或减少的常量值乘数。 较高的值通常使凸起更可见,较低的值通常使凹凸不太可见。

pDestTexture [in]

类型: ID3D10Texture2D*

指向 ID3D10Texture2D 接口的指针,表示目标纹理。

返回值

类型: HRESULT

如果函数成功,则返回值D3D_OK。 如果函数失败,则返回值可以是以下值:D3DERR_INVALIDCALL。

备注

此方法使用内核大小为 3x3 的中央差值计算法线。 目标中的 RGB 通道包含有偏差 (x,y,z) 法线的分量。 中心差异分母硬编码为 2.0。

要求

要求
标头
D3DX10Tex.h

D3DX10.lib

另请参阅

D3DX 10 中的纹理函数