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]
-
指向表示目标纹理的 IDirect3DTexture9 接口的指针。
-
pSrcTexture [in]
-
指向 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) 法线的分量。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅