D3DXComputeNormalMap 函数

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

语法

HRESULT D3DXComputeNormalMap(
  _Out_       LPDIRECT3DTEXTURE9 pTexture,
  _In_        LPDIRECT3DTEXTURE9 pSrcTexture,
  _In_  const PALETTEENTRY       *pSrcPalette,
  _In_        DWORD              Flags,
  _In_        DWORD              Channel,
  _In_        FLOAT              Amplitude
);

参数

pTexture [out]

类型: LPDIRECT3DTEXTURE9

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

pSrcTexture [in]

类型: LPDIRECT3DTEXTURE9

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

pSrcPalette [in]

类型: const PALETTEENTRY*

指向 PALETTEENTRY 类型的指针,该类型包含 256 种颜色或 NULL 的源调色板。

Flags [in]

类型: DWORD

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

通道 [in]

类型: DWORD

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

Amplitude [in]

类型: FLOAT

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

返回值

类型: HRESULT

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

备注

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

要求

要求
标头
D3dx9tex.h

D3dx9.lib

另请参阅

D3DX 9 中的纹理函数