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 |