アプリケーションは、ビューポートオブジェクトと互いにやり取りするためにDirect3DRMViewport2インターフェイスのメソッドを使用する。Direct3DRMViewport2は、何をクリアするかを示すフラグパラメータをClearメソッドに追加する。
Direct3DRMViewport2インターフェイスのメソッドは、以下のグループにまとめることができる。
カメラ GetCamera SetCamera クリッピングプレーン GetBack GetFront GetPlane SetBack SetFront SetPlane サイズ GetHeight GetWidth ビューのフィールド GetField SetField その他 Clear Configure ForceUpdate GetDevice GetDirect3DViewport3 Pick Render オフセット GetX GetY 射影タイプ GetProjection SetProjection スケーリング GetUniformScaling SetUniformScaling 変換 InverseTransform Transform
Direct3DRMViewport2インターフェイスは、Direct3DRMObjectインターフェイスから次のメソッドを継承する。
Direct3DRMViewportオブジェクトは、Direct3DRM3.CreateViewportメソッドの使用によって取得される。
現在の背景色で、指定されたビューポートをクリアする。
構文
object.Clear(flags As CONST_D3DRMVIEWPORTCLEARFLAGS)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- flags
- CONST_D3DRMVIEWPORTCLEARFLAGS列挙型の値の論理的な組み合わせ。
エラー値
エラーが発生した場合は、DDERR_INVALIDOBJECTまたはDDERR_INVALIDPARAMSを返す。
すべてのエラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
ビューポートの原点とサイズを再設定する。
構文
object.Configure(x As Long, y As Long, width As Long, height As Long)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- x, y
- ビューポートの新しい位置。
- width, height
- ビューポートの新しい幅と高さ。
エラー値
x + widthがデバイスの幅より大きい場合、y + heightがデバイスの高さより大きい場合、あるいはx、y、width、heightのいずれかの値が0以下である場合、このメソッドはD3DRMERR_BADVALUEを返す。エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
ビューポートの領域を強制的に更新する。指定された領域は、次回のDirect3DRMDevice3.Updateメソッドの呼び出しでスクリーンにコピーされる。
構文
object.ForceUpdate(x1 As Long, y1 As Long, x2 As Long, y2 As Long)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- x1, y1
- 更新領域の左上隅。
- x2, y2
- 更新領域の右下隅。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
システムは、指定された矩形よりも大きなリージョンを更新することがある。場合によっては、ウィンドウ全体が更新されることもある。
ビューポートのバッククリッピングプレーンの位置を取得する。
構文
object.GetBack( ) As Single
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
戻り値
バッククリッピングプレーンとカメラとの距離を記述する値を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
ビューポートのカメラを取得する。
構文
object.GetCamera( ) As Direct3DRMFrame3
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
戻り値
カメラを表すDirect3DRMFrame3オブジェクトを返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
ビューポートと関連付けられたデバイスを取得する。
構文
object.GetDevice( ) As Direct3DRMDevice3
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
戻り値
デバイスを表すDirect3DRMDevice3オブジェクトを返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
現在のDirect3DRMViewport2オブジェクトに対応するDirect3Dビューポートを取得する。
構文
object.GetDirect3DViewport( ) As Direct3DViewport3
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
戻り値
Direct3DViewport3オブジェクトを返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
視錐台の角度をラジアン単位で取得する。
構文
object.GetField( ) As Single
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
戻り値
ビューのフィールドを記述する値を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
ビューポートのフロントクリッピングプレーンの位置を取得する。
構文
object.GetFront( ) As Single
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
戻り値
カメラからフロントクリッピングプレーンまでの距離を記述する値を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
ビューポートの高さを取得する。
構文
object.GetHeight( ) As Long
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
戻り値
高さをピクセル単位で返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
フロントクリッピングプレーン上のビューポートのサイズを取得する。
構文
object.GetPlane(l As Single, r As Single, b As Single, t As Single)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- l, r, b, t
- フロントクリッピングプレーン上のビューポートの上下左右のサイズ。サイズはピクセル単位で記録される。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
ビューポートの射影タイプを取得する。ビューポートには、平行投影と透視投影のどちらでも用いることができる。
構文
object.GetProjection( ) As CONST_D3DRMPROJECTIONTYPE
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
戻り値
CONST_D3DRMPROJECTIONTYPE列挙型のメンバの 1 つを返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
ウィンドウのサイズより大きな表示ボリュームをスケーリングするために用いられる、スケール特性を取得する。
構文
object.GetUniformScaling( ) As Long
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
戻り値
ビューポートが一定の比率でスケーリングされる場合は1、そうでなければ0を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
ビューポートの幅を取得する。
構文
object.GetWidth( ) As Long
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
戻り値
幅をピクセル単位で返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
デバイスの上のビューポート始点のxオフセットを取得する。
構文
object.GetX( ) As Long
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
戻り値
xオフセットを返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
デバイスの上のビューポート始点のyオフセットを取得する。
構文
object.GetY( ) As Long
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
戻り値
yオフセットを返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
スクリーン座標の指定されたベクトルをワールド座標に変換し、結果を返す。
構文
object.InverseTransform(d As D3DVECTOR, s As D3DRMVECTOR4D)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- d
- メソッドが値を返すときに処理結果を受け取るD3DVECTOR型。
- s
- 処理のソースを表すD3DRMVECTOR4D型。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
深度によって分類されたオブジェクト(関連があれば面も)のリストを見つけ出す。取得した配列には、ルートからオブジェクトを含むフレームに到達するまでの階層パスが格納される。
構文
object.Pick(x As Long, y As Long) As Direct3DRMPickArray
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- x, y
- ピッキングに使われるxおよびy座標。
戻り値
呼び出しが成功すると、Direct3DRMPickArrayインターフェイスを返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
フレーム階層を、指定されたビューポートにレンダリングする。指定されたフレーム上のビジュアルと、その下の階層のフレームだけがレンダリングされる。
構文
object.Render(rootFrame As Direct3DRMFrame3)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- rootFrame
- レンダリングするフレーム階層を表すDirect3DRMFrame3オブジェクト。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
このメソッドは、右手サポートを示すのにDirect3DRM3.SetOptionsメソッドを使おうとしたり、同時に右手サポートを提供する古い方法 (Direct3DRMViewport2.SetProjection) を使うと、エラーを返す。
ビューポートのバッククリッピングプレーンの位置を設定する。
構文
object.SetBack(v As Single)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- v
- カメラとバッククリッピングプレーンの間の距離。デフォルト値は100.0である。適正な値はその他の視錐台設定に依存する。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、Direct3DRMViewportInterpolatorオブジェクトにバッククリッピングプレーンの位置キーを追加するためにも使用する。
参照
カメラをビューポートに設定する。
構文
object.SetCamera(f As Direct3DRMFrame3)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- f
- カメラを表すDirect3DRMFrame3オブジェクト。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、ビューポートの位置、方向、向きを指定されたカメラフレームと同じに設定する。ビューは、カメラフレームの正のz軸方向に沿って、正のy軸の上方向に向けられる。
参照
視錐台の角度をラジアン単位で設定する。
構文
object.SetField(v As Single)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- v
- ビューの新しいフィールド。この値は視角の端数である。デフォルト値は0.5である。この値に0以下を指定すると、このメソッドはD3DRMERR_BADVALUEエラーを返す。視角は、フロントクリッピングプレーンのアークタンジェントの2倍割るカメラからの距離として定義される。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、Direct3DRMViewportInterpolatorオブジェクトにビューのフィールドキーを追加するためにも使用する。
参照
ビューポートのフロントクリッピングプレーンの位置を設定する。
構文
object.SetFront(v As Single)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- v
- カメラからフロントクリッピングプレーンまでの距離。デフォルト値は1.0である。適正な値はその他の視錐台設定に依存する。
エラー値
0以下の値が渡されると、このメソッドはD3DRMERR_BADVALUEエラーを返す。エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、Direct3DRMViewportInterpolatorオブジェクトにフロントクリッピングプレーン位置キーを追加するためにも使用する。
参照
カメラのz軸に対するビューポートのサイズをフロントクリッピングプレーンに設定する。
構文
object.SetPlane(Left As Single, Right As Single, Bottom As Single, Top As Single)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- Left, Right, Bottom, Top
- ビューポートの最小のx座標 、最大のx座標、最小のy座標、最大のy座標。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
中央に調整されたビューポートを指定するDirect3DRMViewport2.SetFieldメソッドと異なり、このメソッドによって、任意の比率と位置のビューポートを指定することができる。たとえば、分離した視錐台を構築して、右目や左目のステレオビューをインプリメントすることができる。
このメソッドは、Direct3DRMViewportInterpolatorオブジェクトにプレーンキーを追加するためにも使用する。
参照
ビューポートに射影タイプを設定する。
構文
object.SetProjection(val As CONST_D3DRMPROJECTIONTYPE)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- val
- CONST_D3DRMPROJECTIONTYPE列挙型のメンバの1つ。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
Direct3DRM3.SetOptionsを使用して右手ジオメトリを指定する。
参照
表示ボリュームをウィンドウのサイズよりも大きくスケーリングするときに用いられる、スケール特性を設定する。
構文
object.SetUniformScaling(flag As CONST_DBOOLFLAGS)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- flag
- 新しいスケール特性。このパラメータにD_TRUEを指定すると、水平方向と垂直方向に同じスケール係数が使用される。反対に、パラメータにD_FALSEが設定されていると、表示ボリュームをウィンドウに一致させるため、異なるスケール係数が用いられる。デフォルトの設定はD_TRUEである。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
通常このメソッドは、バンディングをサポートするためにDirect3DRMViewport2.SetPlaneメソッドと共に使用される。
参照
ワールド座標の指定されたベクトルをスクリーン座標に変換し、結果を返す。
構文
object.Transform(d As D3DRMVECTOR4D, s As D3DVECTOR)
要素
- object
- Direct3DRMViewport2オブジェクトを表すオブジェクト式。
- d
- 変換操作の出力先となるD3DRMVECTOR4D型。
- s
- 変換処理のソースとなるD3DVECTOR型。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
変換結果には、4要素の同種のベクトルが返される。以下の方程式が真であれば、結果のベクトルが示すポイントは可視状態である。
![]()
参照
トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.