D3DXComputeNormalMap

高さマップを法線マップに変換します。各法線の (x,y,z) 成分は、出力テクスチャーの (r,g,b) チャンネルにマッピングされます。

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

パラメータ

  • pTexture
    IDirect3DTexture9 インターフェイスへのポインターです。出力先テクスチャーを示します。
  • pSrcTexture
    IDirect3DTexture9 インターフェイスへのポインターです。転送元の高さマップ テクスチャーを示します。
  • pSrcPalette
    256 色のソース パレットまたは NULL を含む PALETTEENTRY 型へのポインターです。
  • Flags
    法線マップの生成を制御する 1 つ以上の D3DX_NORMALMAP フラグです。
  • Channel
    高さの情報のソースを指定する 1 つの D3DX_CHANNEL フラグです。
  • Amplitude
    法線マップの値を増加 (または減少) させる、定数値の乗数です。通常は、値が大きいほどバンプがはっきりと表示され、値が小さいほどバンプが少なく表示されます。

戻り値

成功すると、D3D_OK を返します。失敗すると、次の値を返します。D3DERR_INVALIDCALL

解説 

このメソッドは、3 × 3 の周囲と中心との違いを利用して法線を計算します。使用される中心差分の基準は 2.0 です。転送先の RGB チャンネルには、法線のバイアスをかけた (x,y,z) 成分が含まれます。

要件

ヘッダー: D3dx9tex.h 宣言

ライブラリ: D3dx9.lib 内容