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オブジェクトを作成することができる。
クリッピングプレーンを追加する。
構文
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とともに導入された。
クリッピングプレーンを削除する。
構文
HRESULT DeletePlane( DWORD dwID, DWORD dwFlags);
パラメータ
- dwID
- 削除するプレーンのID番号。
- dwFlags
- 未使用フラグ。
戻り値
成功すればDD_OKを返す。
注意
このメソッドは、DirectX version 6.0とともに導入された。
クリッピングプレーンに関する情報を取り出す。
構文
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とともに導入された。
IDの配列を取り出す。
構文
HRESULT GetPlanes( LPDWORD lpdwCount, LPDWORD lpdwID, DWORD dwFlags);
パラメータ
- lpdwCount
- 呼び出しが成功した場合に、プレーンの数を受け取るポインタ。
- lpdwID
- すべてのプレーンID番号の配列を入れるのに十分な大きさのバッファのアドレス。呼び出しが成功した場合、プレーンIDが入っている。NULLならば、プレーンの数のみ返される。
- dwFlags
- 未使用フラグ。0でなければならない。
戻り値
DD_OKまたはDDERR_INVALIDPARAMSを返す。
注意
このメソッドは、DirectX version 6.0とともに導入された。
クリップビジュアルを初期化する。
構文
HRESULT Init( LPDIRECT3DRMVISUAL lpD3DRMVisual);
パラメータ
- lpD3DRMVisual
- クリップし、レンダリングするビジュアル。
戻り値
成功すればDD_OKを返す。
注意
このメソッドは、DirectX version 6.0とともに導入された。
すでに追加されたクリッピングプレーンのパラメータを変更する。
構文
HRESULT SetPlane( DWORD dwID, LPDIRECT3DRMFRAME3 lpRef, LPD3DVECTOR lpdvPoint, LPD3DVECTOR lpdvNormal, DWORD dwFlags);
パラメータ
- dwID
- 変更するプレーンのID番号。
- lpRef
- ポイントと法線パラメータの参照フレーム。このパラメータがNULLならば、lpdvPointとlpdvNormalはワールド空間中にある。
- 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.