Platform SDK: DirectX |
D3DXDrawSpriteSimple 関数は、スプライトを Direct3D デバイスにレンダリングする。この関数は、IDirect3DDevice7::BeginScene 関数を呼び出した後で、IDirect3DDevice7::EndScene 関数を呼び出す前に呼び出す必要がある。
HRESULT D3DXDrawSpriteSimple( LPDIRECTDRAWSURFACE7 pd3dTexture, LPDIRECT3DDEVICE7 pd3dDevice, const D3DXVECTOR3* ppointDest, float alpha = 1.0f, float scale = 1.0f, float angleRad = 0.0f, const D3DXVECTOR2* pOffset = NULL, const RECT *pSourceRect = NULL );
成功すれば、S_OK を返す。
失敗すれば、次いずれかの値を返す。
D3DXERR_NULLPOINTER |
DDERR_INVALIDOBJECT |
DDERR_INVALIDPARAMS |
C プログラマは、alpha、scale、angleRad、pOffset、および pSourceRect パラメータでデフォルト値を使用でない。
D3DXDrawSpriteSimple 関数は、ソース イメージを 3D レンダリング デバイスにブリッドする。この関数は、pd3dTexture パラメータが NULL 以外の場合、最初のレンダリング ステージでそのパラメータを指定して IDirect3DDevice7::SetTexture を呼び出すだけである。
この関数は、スケーリング、回転、アルファ ブレンディング、ミラーリング、および配置をサポートしている。シャーリングや遠近法などより広い範囲のエフェクトについては、D3DXDrawSpriteTransform 関数を使用すること。
この関数は、D3DXPrepareDeviceForSprite がデバイスで呼び出された、または呼び出し元のアプリケーションが別の方法でレンダリング状態を適切に準備したと仮定している。
回転角度は、ラジアン単位で指定される。回転もスケーリングも、スプライトの中心を中心として適用される。この場合、スプライトの中心は、スプライトの幅と高さの半分に、オフセット パラメータを加えたものになる。スプライトの中心をイメージの中心とは違うものにしたい場合、オフセット パラメータを使用する。
レンダリング先の点は、スプライトの中心を置く位置を示す。2D レンダリングと 3D レンダリングを混合するような上級ユーザーは、それらの座標が完全に変換されていると見なされることを覚えておくこと (つまり、スクリーン空間で、ppointDest パラメータの z コンポーネントを適切に設定する必要がある)。一般に、上級ユーザーはもっと制御するため、代わりに D3DXDrawSprite3D 関数を使用する。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以上が必要。Windows 95 用に再配布可能な形で使用可能。
バージョン : DirectX 7.0 が必要。
ヘッダー : d3dxsprite.h で宣言。
ライブラリ : d3dx.lib を使用。
D3DXDrawSpriteTransform、D3DXDrawSprite3D、D3DXPrepareDeviceForSprite