IDirect3DRMClippedVisual

Microsoft® DirectX® version 6.0は、IDirect3DRMClippedVisualインターフェイスを導入している。このインターフェイスによって、アプリケーションは、レンダリングの前にワールド空間中で指定された任意のプレーンに対してビジュアルオブジェクトをクリップすることができる。別のビジュアルから影を作成するのとほとんど同じように、別のビジュアルからクリップビジュアルを作成する。たとえば、球体からクリップビジュアルを作成し、球体の真中から直線的にクリッピングプレーンを渡し、球体の半分だけをレンダリングさせることができる。IDirect3DRM3::CreateClippedVisualメソッドを呼び出すことで、クリップビジュアルオブジェクトを作成する。次に、IDirect3DRMFrame3::AddVisualメソッドを使用して、クリップビジュアルをシーンに追加する。

IDirect3DRMClippedVisualは、その他のビジュアルインターフェイスと同様にIDirect3DRMVisualを継承する。参照フレームが移動するとき、クリッピングプレーンは移動しない (詳細については、「AddPlaneメソッド」を参照すること)。

Microsoft Direct3D® 保持モードインターフェイスの履歴については、「インターフェイスの変更点」を参照すること。

IDirect3DRMClippedVisualインターフェイスのメソッドは、以下のグループにまとめることができる。
初期化 Init
プレーン AddPlane
DeletePlane
GetPlane
GetPlaneIDs
SetPlane

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

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

IDirect3DRM3インターフェイスを使用して、Direct3DRMClippedVisualオブジェクトを作成することができる。

IDirect3DRMClippedVisual::AddPlane

IDirect3DRMClippedVisual

クリッピングプレーンを追加する。

構文

HRESULT AddPlane(
  LPDIRECT3DRMFRAME3 lpRef,
  LPD3DVECTOR lpdvPoint,
  LPD3DVECTOR lpdvNormal,
  DWORD dwFlags,
  LPDWORD lpdwReturnID);

パラメータ

lpRef
ポイントと法線パラメータの参照フレーム。
lpdvPoint
参照フレームを起点とするプレーン上のポイント。
lpdvNormal
参照フレームを起点とするプレーンに垂直なベクトル。
dwFlags
未使用フラグ。0でなければならない。
lpdwReturnID
呼び出しが成功した場合に、プレーンの一意なID番号を受け取るポインタ。

戻り値

DD_OKまたはDDERR_INVALIDPARAMSを返す。

注意

クリッピングプレーンは、ワールド座標として内部的に格納される。参照フレームが移動するとき、クリッピングプレーンは移動しない。必要に応じてクリッピングプレーンの位置と方向を更新するには、SetPlaneメソッドを使用する。

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

IDirect3DRMClippedVisual::DeletePlane

IDirect3DRMClippedVisual

クリッピングプレーンを削除する。

構文

HRESULT DeletePlane(
  DWORD dwID,
  DWORD dwFlags);

パラメータ

dwID
削除するプレーンのID番号。
dwFlags
未使用フラグ。

戻り値

成功すればDD_OKを返す。

注意

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

IDirect3DRMClippedVisual::GetPlane

IDirect3DRMClippedVisual

クリッピングプレーンに関する情報を取り出す。

構文

HRESULT GetPlane(
  DWORD dwID,
  LPDIRECT3DRMFRAME3 lpRef,
  LPD3DVECTOR lpdvPoint,
  LPD3DVECTOR lpdvNormal,
  DWORD dwFlags);

パラメータ

lpRef
該当する操作の参照フレーム。
dwID
プレーンのID。
lpdvPoint
呼び出しが成功した場合に、参照フレームを起点とするプレーン上のポイントを受け取るポインタ。
lpdvNormal
呼び出しが成功した場合に、参照フレームを起点とするプレーンに垂直なベクトルを受け取るポインタ。
dwFlags
未使用フラグ。0でなければならない。

戻り値

DD_OKまたはDDERR_INVALIDPARAMSを返す。

注意

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

IDirect3DRMClippedVisual::GetPlaneIDs

IDirect3DRMClippedVisual

IDの配列を取り出す。

構文

HRESULT GetPlanes(
  LPDWORD lpdwCount,
  LPDWORD lpdwID,
  DWORD dwFlags);

パラメータ

lpdwCount
呼び出しが成功した場合に、プレーンの数を受け取るポインタ。
lpdwID
すべてのプレーンID番号の配列を入れるのに十分な大きさのバッファのアドレス。呼び出しが成功した場合、プレーンIDが入っている。NULLならば、プレーンの数のみ返される。
dwFlags
未使用フラグ。0でなければならない。

戻り値

DD_OKまたはDDERR_INVALIDPARAMSを返す。

注意

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

IDirect3DRMClippedVisual::Init

IDirect3DRMClippedVisual

クリップビジュアルを初期化する。

構文

HRESULT Init(
  LPDIRECT3DRMVISUAL lpD3DRMVisual);

パラメータ

lpD3DRMVisual
クリップし、レンダリングするビジュアル。

戻り値

成功すればDD_OKを返す。

注意

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

IDirect3DRMClippedVisual::SetPlane

IDirect3DRMClippedVisual

すでに追加されたクリッピングプレーンのパラメータを変更する。

構文

HRESULT SetPlane(
  DWORD dwID,
  LPDIRECT3DRMFRAME3 lpRef,
  LPD3DVECTOR lpdvPoint,
  LPD3DVECTOR lpdvNormal,
  DWORD dwFlags);

パラメータ

dwID
変更するプレーンのID番号。
lpRef
ポイントと法線パラメータの参照フレーム。このパラメータがNULLならば、lpdvPointlpdvNormalはワールド空間中にある。
lpdvPoint
参照フレームを起点とするプレーン上のポイント。
lpdvNormal
参照フレームを起点とするプレーンに垂直なベクトル。
dwFlags
フラグ値。0でなければならない。
lpdwReturnID
呼び出しが成功した場合に、プレーンの一意なID番号を受け取るポインタ。

戻り値

DD_OKまたはDDERR_INVALIDPARAMSを返す。

注意

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


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