Platform SDK: DirectX

D3DXCreateTexture

D3DXCreateTexture 関数は、空のテクスチャ オブジェクトを作成する。

HRESULT D3DXCreateTexture(
  LPDIRECT3DDEVICE7 pd3dDevice,
  LPDWORD pFlags,
  LPDWORD pWidth,
  LPDWORD pHeight,
  D3DX_SURFACEFORMAT* pPixelFormat,
  LPDIRECTDRAWPALETTE pDDPal,
  LPDIRECTDRAWSURFACE7* ppDDSurf,
  LPDWORD pNumMipMaps
);

パラメータ

pd3dDevice
テクスチャに関連付けられている Direct3D デバイスの IDirect3DDevice7 インターフェイス。
pFlags
DWORD 値へのポインタ。ミップマップを生成しない場合、このパラメータにより D3DX_TEXTURE_NOMIPMAP フラグを指定する。この値に、NULL を指定することも可能である。ミップマップ生成がサポートされていない場合は、D3DX_TEXTURE_NOMIPMAP フラグが返される。
pWidth
幅を示す DWORD 値へのポインタ (ピクセル単位)。このパラメータは、補正された幅を返す。
pHeight
高さを示す DWORD 値へのポインタ (ピクセル単位)。このパラメータは、補正された高さを返す。
pPixelFormat
D3DX_SURFACEFORMAT 列挙型のメンバへのポインタ。このパラメータでは、D3DX_DEFAULT は有効でない。このパラメータの入力値は、適切なテクスチャ フォーマットである。戻り値は、ハードウェアでサポートされている最も近いテクスチャ フォーマットである。
pDDPal
パレット化サーフェスに設定されている (存在する場合) DirectDraw パレットの IDirectDrawPalette インターフェイスへのポインタ。これは、非パレット化サーフェスの場合、設定されていても無視される。そのため、結果サーフェスが 8 ビットのパレット化サーフェスの場合は、使用するパレットを指定できる。
ppDDSurf
指定内容やカレント ハードウェアに一致し、作成されたテクスチャの DirectDrawSurface オブジェクトへのポインタのアドレス。
pNumMipMaps
DWORD 値へのポインタ。キューブ マップの特定のサーフェスに対して生成されたミップマップの数。

戻り値

成功すれば、S_OK を返す。

失敗すれば、次いずれかの値を返す。

D3DXERR_D3DXNOTSTARTEDYET
D3DXERR_INVALIDPARAMETER
D3DXERR_NOMATCHFOUND
D3DXERR_NULLPOINTER
DDERR_INCOMPATIBLEPRIMARY
DDERR_INVALIDCAPS
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_INVALIDPIXELFORMAT
DDERR_NOALPHAHW
DDERR_NOCOOPERATIVELEVELSET
DDERR_NODIRECTDRAWHW
DDERR_NOEMULATION
DDERR_NOEXCLUSIVEMODE
DDERR_NOFLIPHW
DDERR_NOMIPMAPHW
DDERR_NOOVERLAYHW
DDERR_NOZBUFFERHW
DDERR_OUTOFMEMORY
DDERR_OUTOFVIDEOMEMORY
DDERR_PRIMARYSURFACEALREADYEXISTS
DDERR_UNSUPPORTEDMODE

注意

pFlags パラメータがミップマップを作成しないように特に設定されていない限り、最低レベル サイズの 1 x 1 に達するまでミップマップは生成される。

ミップマップの詳細については、「ミップマップによるテクスチャ フィルタリング」を参照すること。

幅、高さ、ピクセル フォーマットは、使用可能なハードウェアに基づいて変わる。たとえば、ミップマップ ディメンジョンは 2 の累乗でなければならず、また幅は正方形テクスチャの高さと等しくなければならない。さらに、指定されたピクセル フォーマットを使用できない場合、最適に適合される。

この関数は、サイズとピクセル フォーマットをカレント デバイスの要件に合わせて調整したサーフェスを作成する。このサーフェスは、テクスチャ管理のマークが付けられたシステム メモリである。詳細については、Direct3D 直接モードのドキュメントを参照すること。

作成されたサーフェスは、幅パラメータと高さパラメータにより指定されたサーフェスよりも大きかったり、小さかったりする。選択されたピクセル フォーマットが、渡されたフォーマットでない場合もある。しかし、実際の幅、高さ、ピクセル フォーマットに注意を払わなければならないのは、この関数により返されたサーフェスに直接アクセスする場合だけである (ただし、サーフェスのプロパティはデバイスごとに異なるので、直接アクセスすることはお勧めしない)。

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以上が必要。Windows 95 用に再配布可能な形で使用可能。
  バージョン : DirectX 7.0 が必要。
  ヘッダー : d3dxcore.h で宣言。
  ライブラリ : d3dx.lib を使用。

参照

D3DXCreateCubeMapTexture