次の方法で共有


ID3D11DeviceContext::RSSetViewports メソッド (d3d11.h)

ビューポートの配列をパイプラインのラスタライザー ステージにバインドします。

構文

void RSSetViewports(
  [in]           UINT                 NumViewports,
  [in, optional] const D3D11_VIEWPORT *pViewports
);

パラメーター

[in] NumViewports

型: UINT

バインドするビューポートの数。

[in, optional] pViewports

型: const D3D11_VIEWPORT*

デバイスにバインド するD3D11_VIEWPORT 構造体の配列。 Direct3D 11 と Direct3D 10 の間で変更されたデバイス機能レベルにビューポート サイズがどのように依存するかの詳細については、構造ページを参照してください。

戻り値

なし

解説

すべてのビューポートは、1 つの操作としてアトミックに設定する必要があります。 呼び出しで定義されていないビューポートはすべて無効になります。

使用するビューポートは、ジオメトリ シェーダーによって SV_ViewportArrayIndex セマンティック出力によって決定されます。ジオメトリ シェーダーでセマンティックが指定されていない場合、Direct3D は配列内の最初のビューポートを使用します。

メモ機能レベル 9_xの ID3D11DeviceContext::RSSetViewports の呼び出しで pViewports 配列のD3D11_VIEWPORT構造体のメンバーに float 値を指定した場合でも、RSSetViewports は DWORD を内部的に使用します。 この動作のため、ビューポートに負の左上隅を使用すると、機能レベルの RSSetViewports の呼び出し9_x失敗します。 このエラーが発生するのは、 9_xの RSSetViewports によって浮動小数点値が検証なしで符号なし整数にキャストされ、整数オーバーフローが発生するためです。
 

要件

要件
対象プラットフォーム Windows
ヘッダー d3d11.h
Library D3D11.lib

こちらもご覧ください

ID3D11DeviceContext