IDirect3DRMShadow2

アプリケーションは、Direct3DRMShadow2オブジェクトおよびDirect3DRMShadowオブジェクトを初期化するためにIDirect3DRMShadow2インターフェイスおよびIDirect3DRMShadowインターフェイスのメソッドをそれぞれ使用する。アプリケーションがIDirect3DRM3::CreateShadowメソッドを使うときは、この初期化は不要である。初期化が必要なのは、IDirect3DRM3::CreateObjectメソッドを使って影を生成する場合だけである。 IDirect3DRM3::CreateObjectを呼び出すアプリケーションは、次にIDirect3DRMShadow2::Initメソッドを呼び出し、影を初期化する。

IDirect3DRMShadow2は、ビジュアル、照明、プレーン、オプションの影のパラメータを作成後に変更可能にすることで、IDirect3DRMShadowの機能を拡張する。 IDirect3DRMShadow2::SetOptionsによって、透明ブレンディングが有効なときにビジュアル効果を排除するオプションをセットできる。 IDirect3DRMShadow2は、IDirect3DRMShadowが提供するInitメソッドに加えて、SetVisualGetVisualSetLightGetLightSetPlaneGetPlaneSetOptionsGetOptionsメソッドを提供する。

IDirect3DRMShadow2インターフェイスのメソッドは、以下のグループにまとめることができる。
初期化 Init
パラメータの設定と取得 GetLight
GetOptions
GetPlane
GetVisual
SetLight
SetOptions
SetPlane
SetVisual

すべてのCOMインターフェイスと同様、IDirect3DRMShadow2およびIDirect3DRMShadowインターフェイスはIUnknownインターフェイスメソッドを継承する。IUnknownインターフェイスは、以下の3つのメソッドをサポートする。
AddRef
QueryInterface
Release

さらに、IDirect3DRMShadow2およびIDirect3DRMShadowインターフェイスは、IDirect3DRMObjectインターフェイスから次のメソッドを継承する。
AddDestroyCallback
Clone
DeleteDestroyCallback
GetAppData
GetClassName
GetName
SetAppData
SetName

Direct3DRMShadow2オブジェクトは、IDirect3DRM3::CreateShadowメソッドの使用によって取得される。

IDirect3DRMShadow2::GetLight

IDirect3DRMShadow2

影の作成時に使用する照明ソースを取得する。照明が影に関連付けられていない場合、エラーが返される。

構文

HRESULT GetLight(
  LPDIRECT3DRMLIGHT  *lplpDirect3DRMLight);

パラメータ

lplpDirect3DRMLight
照明ソースを受け取るポインタ。

戻り値

次の値のうち1つを返す。
 
DD_OK
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS

注意

このメソッドは、DirectX version 6.0とともに導入された。

IDirect3DRMShadow2::GetOptions

IDirect3DRMShadow2

影のオプションフラグを取得する。

構文

HRESULT GetOptions(
  LPDWORD pdwOptions);

パラメータ

pdwOptions
現在の影のオプションを取得するポインタ。有効なフラグは次の通りである。
D3DRMSHADOW_TRUEALPHA
真のアルファが有効なときにレンダリングした場合、ビジュアル効果を持たない影を作成する。

戻り値

次の値のうち1つを返す。
 
DD_OK
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS

注意

このメソッドは、DirectX version 6.0とともに導入された。

IDirect3DRMShadow2::GetPlane

IDirect3DRMShadow2

影のプレーンを取得する。ポイントは 影のフレームを起点とする。法線はワールド空間中にある。

構文

HRESULT SetPlane(
  LPD3DVALUE pdvPX,
  LPD3DVALUE pdvPY,
  LPD3DVALUE pdvPZ,
  LPD3DVALUE pdvNX,
  LPD3DVALUE pdvNY,
  LPD3DVALUE pdvNZ);

パラメータ

pdvPX, pdvPY, pdvPZ
影のフレームを起点とする影のプレーン上のポイントのx、y、z値を受け取るポインタ。この値は、D3DVALUEデータタイプへのポインタとして指定される。
pdvNX, pdvNY, pdvNZ
影のプレーンに対する法線のx、y、z値をワールド空間ベクトルとして受け取るポインタ。この値は、D3DVALUEデータタイプへのポインタとして指定される。

戻り値

次の値のうち1つを返す。
 
DD_OK
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS

注意

このメソッドは、DirectX version 6.0とともに導入された。

IDirect3DRMShadow2::GetVisual

IDirect3DRMShadow2

影を作成するビジュアルを取得する。

構文

HRESULT GetVisual(
  LPDIRECT3DRMVISUAL  *lplpDirect3DRMVisual);

パラメータ

lplpDirect3DRMVisual
影を作成するビジュアルを受け取るポインタ。

戻り値

次の値のうち1つを返す。
 
DD_OK
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS

注意

このメソッドは、DirectX version 6.0とともに導入された。

IDirect3DRMShadow2::Init

IDirect3DRMShadow2

Direct3DRMShadow2オブジェクトを初期化する。

構文

HRESULT Init(
  LPUNKNOWN pUnk,
  LPDIRECT3DRMLIGHT lpD3DRMLight,
  D3DVALUE px,
  D3DVALUE py,
  D3DVALUE pz,
  D3DVALUE nx,
  D3DVALUE ny,
  D3DVALUE nz);

パラメータ

pUnk
影を付けるオブジェクトへのポインタ。
lpD3DRMLight
影の元になる照明を 提供するDirect3DRMLightオブジェクトへのポインタ。
px, py, pz
影が付けられるプレーン上の点の座標。
nx, ny, nz
影が付けられるプレーン上の法線ベクトルの座標。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

影を初期化するためこのメソッドを呼び出した後、IDirect3DRMFrame3::AddVisualを使用して、影を作成するビジュアルが存在するフレームと同じフレームに影を追加する。

IDirect3DRMShadow2::SetLight

IDirect3DRMShadow2

影の作成時に使用する照明を設定する。

構文

HRESULT SetLight(
  LPDIRECT3DRMLIGHT lpDirect3DRMLight,
  DWORD dwFlags);

パラメータ

lpDirect3DRMLight
影の作成時に使用する照明。
dwFlags
予約済み。0でなければならない。

戻り値

次の値のうち1つを返す。
 
DD_OK
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS

注意

このメソッドは、DirectX version 6.0とともに導入された。

IDirect3DRMShadow2::SetOptions

IDirect3DRMShadow2

影のオプションフラグを設定する。

構文

HRESULT SetOptions(
  DWORD dwOptions);

パラメータ

dwOptions
影のオプション。有効なフラグは次の通りである。
D3DRMSHADOW_TRUEALPHA
透明ブレンディング (アルファブレンディング) が有効なときにビジュアル効果を持たない影を作成する。IDirect3DRMDevice3::SetRenderModeを呼び出し、透明ブレンディングを有効にする。

戻り値

次の値のうち1つを返す。
 
DD_OK
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS

注意

このメソッドは、DirectX version 6.0とともに導入された。

IDirect3DRMShadow2::SetPlane

IDirect3DRMShadow2

影のプレーンを設定する。ポイントは影のフレームを起点とする。法線はワールド空間中にある。

構文

HRESULT SetPlane(
  D3DVALUE dvPX,
  D3DVALUE dvPY,
  D3DVALUE dvPZ,
  D3DVALUE dvNX,
  D3DVALUE dvNY,
  D3DVALUE dvNZ,
  DWORD dwFlags);

パラメータ

dvPX, dvPY, dvPZ
D3DVALUEデータタイプで指定した影のフレームを起点とする、影のプレーン上のポイント。
dvNX, dvNY, dvNZ
D3DVALUEデータタイプとして指定した、ワールド空間ベクトルとしての影のプレーンに対する法線。
dwFlags
予約済み。0でなければならない。

戻り値

次の値のうち1つを返す。
 
DD_OK
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS

注意

このメソッドは、DirectX version 6.0とともに導入された。

IDirect3DRMShadow2::SetVisual

IDirect3DRMShadow2

影を作成するビジュアルを設定する。

構文

HRESULT SetVisual(
    LPDIRECT3DRMVISUAL lpDirect3DRMVisual,
    DWORD dwFlags);

パラメータ

lpDirect3DRMVisual
影を作成するビジュアル。
dwFlags
予約済み。0でなければならない。

戻り値

次の値のうち1つを返す。
 
DD_OK
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS

注意

このメソッドは、DirectX version 6.0とともに導入された。


トップに戻る トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.