Platform SDK: DirectX |
D3DXCreateContextEx 関数は、指定したデバイスを初期化する。ただし、これは D3DXCreateContext 関数によりも高度な初期化関数である。
HRESULT D3DXCreateContextEx( DWORD deviceIndex, DWORD flags, HWND hwnd, HWND hwndFocus, DWORD numColorBits, DWORD numAlphaBits, DWORD numDepthbits, DWORD numStencilBits, DWORD numBackBuffers, DWORD width, DWORD height, DWORD refreshRate, LPD3DXCONTEXT* ppCtx );
成功すれば、S_OK を返す。
失敗すれば、次いずれかの値を返す。
アプリケーションがウィンドウ モードで動作している場合、hwnd は有効なウィンドウでなければならない。hwndFocus パラメータは、NULL または D3DX_DEFAULT でなければならない。また、width または height パラメータのいずれかが D3DX_DEFAULT の場合、両方の値に hwnd クライアント領域のディメンジョンのデフォルト値が設定される。numBackBuffers に D3DX_DEFAULT を指定すると、1 が使用される。そのためバック バッファを 1 つ指定する必要がある。
アプリケーションがフルスクリーン モードで動作している場合、hwnd または hwndFocus のいずれかが有効なウィンドウでなければならない (両方共に NULL または D3DX_DEFAULT を指定することはできない)。hwnd が NULL または D3DX_DEFAULT の場合、デフォルト デバイス ウィンドウが hwndFocus の子ウィンドウとして作成される。また、width または height のいずれかが D3DX_DEFAULT の場合、デフォルト値として width には 640 ピクセルが、height には 480 ピクセルが設定される。numBackBuffers に D3DX_DEFAULT を指定すると、1 が使用される。そのためバック バッファを 1 つ指定する必要がある。
アプリケーションがオフスクリーン モードで動作している場合、hwnd と hwndFocus は NULL または D3DX_DEFAULT でなければならない。width または height のいずれかが D3DX_DEFAULT の場合は、エラーが返される。numBackBuffers に D3DX_DEFAULT を指定すると、0 が使用される。そのため、追加のバック バッファを指定でない。
numDepthBits パラメータと numStencilBits パラメータが両方共 D3DX_DEFAULT の場合、Direct3DX はまず使用可能なステンシル ビット数の最高値を選択する。次に、選択したステンシル ビットについて、使用可能な深度ビット数の最高値を選択する。numStencilBits パラメータまたは numDepthBits パラメータのいずれかだけが D3DX_DEFAULT の場合、そのデフォルト パラメータで使用可能なビット数の最高値が、固定パラメータで要求されたビット数をサポートしたフォーマットから選択される。
すべての関数について、D3DXCreateContextEx が障害発生時に安全であると考えてはならない。サポートされているデバイスの能力は、パラメータ値を選択するためのガイドとして使用すること。パラメータの組み合わせの中には、うまく動作しないものが必ず存在する。
D3DXCreateContextEx 関数によりセット アップされるデフォルト射影行列は、pi/2 ラジアンの視域 (fov) での左手座標系パースペクティブ射影である。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以上が必要。Windows 95 用に再配布可能な形で使用可能。
バージョン : DirectX 7.0 が必要。
ヘッダー : d3dxcore.h で宣言。
ライブラリ : d3dx.lib を使用。