Platform SDK: DirectX |
Direct3D では、ビューポート範囲を更新することで、レンダリング メソッドによる影響をビューポート領域に反映することができる。C++ で記述されたアプリケーションでは、システムによって実行される範囲の更新を D3DRENDERSTATE_EXTENTS レンダリング ステートを使用して制御する。このステートのデフォルト設定は FALSE で、範囲の更新は無効である。アプリケーションで IDirect3DDevice7::GetClipStatus および IDirect3DDevice7::SetClipStatus メソッドを使用してビューポート範囲を操作する場合は、D3DRENDERSTATE_EXTENTS を TRUE に設定することで範囲の更新を有効にできる。
範囲の更新レンダリング ステートは、頂点バッファで可能な範囲の更新処理にはまったく依存しない。IDirect3DVertexBuffer7::ProcessVertices および IDirect3DVertexBuffer7::ProcessVerticesStrided メソッドは、頂点処理の際に範囲の更新処理を制御する、独自のフラグを受け取る。
注 : このレンダリング ステートは、反対ではあるが従来のレンダリング メソッドで使用された D3DDP_DONOTUPDATEEXTENTS フラグと類似している。DirectX 7.0 では、このレンダリング ステートが D3DDP_DONOTUPDATEEXTENTS フラグに置き換わっている。D3DDP_DONOTUPDATEEXTENTS フラグで 1 回の呼び出しごとに範囲の更新を無効にする場合、ステート値がアプリケーションによって再度変更されるまでは、レンダリングに関するすべての呼び出しがこのレンダリング ステートの影響を受ける。
Direct3D では、ビューポート範囲を更新することで、レンダリング メソッドによる影響をビューポート領域に反映することができる。Visual Basic アプリケーションでは、システムによって実行される範囲の更新を D3DRENDERSTATE_EXTENTS レンダリング ステートを使用して制御できる。このステートのデフォルト設定は False で、範囲の更新は無効である。アプリケーションで Direct3DDevice7.GetClipStatus および Direct3DDevice7.SetClipStatus メソッドを使用してビューポート範囲を操作する場合は、D3DRENDERSTATE_EXTENTS を True に設定することで範囲の更新を有効にできる。
範囲の更新レンダリング ステートは、頂点バッファ内で可能な範囲の更新処理にはまったく依存しない。Direct3DVertexBuffer7.ProcessVertices メソッドは、頂点処理の際に範囲の更新処理を制御する、独自のフラグを受け取る。