Microsoft DirectX 8.1 (C++)

D3DXComputeNormalMap

Converts a height map into a normal map. The (x,y,z) components of each normal are mapped to the (r,g,b) channels of the output texture.

HRESULT D3DXComputeNormalMap(
  LPDIRECT3DTEXTURE8   pTexture,
  LPDIRECT3DTEXTURE8   pSrcTexture,
  CONST PALETTEENTRY*  pSrcPalette,
  DWORD                Flags,
  DWORD                Channel,
  FLOAT                Amplitude
);

Parameters

pTexture
[out, retval] Pointer to an IDirect3DTexture8 interface, representing the destination texture.
pSrcTexture
[in, retval] Pointer to an IDirect3DTexture8 interface, representing the source height-map texture.
pSrcPalette
[in] Pointer to a PALETTEENTRY type that contains the source palette of 256 colors or NULL.
Flags
[in] One or more D3DX_NORMALMAP flags that control generation of normal maps.
Channel
[in, out] One D3DX_CHANNEL flag specifying the source of height information.
Amplitude
[in] Constant value by which the height information is multiplied.

Return Values

If the function succeeds, the return value is D3D_OK.

If the function fails, the return value can be the following value.

D3DERR_INVALIDCALL

Remarks

This method computes the normal by using the central difference with a kernel size of 3×3. RGB channels in the destination contain biased (x,y,z) components of the normal.

Requirements

  Header: Declared in D3dx8tex.h.
  Import Library: Use D3dx8.lib.