D3D11_VIEWPORT 構造体 (d3d11.h)

ビューポートの寸法を定義します。

構文

typedef struct D3D11_VIEWPORT {
  FLOAT TopLeftX;
  FLOAT TopLeftY;
  FLOAT Width;
  FLOAT Height;
  FLOAT MinDepth;
  FLOAT MaxDepth;
} D3D11_VIEWPORT;

メンバー

TopLeftX

型: FLOAT

ビューポートの左側の X 位置。 D3D11_VIEWPORT_BOUNDS_MINとD3D11_VIEWPORT_BOUNDS_MAXの間の範囲。

TopLeftY

型: FLOAT

ビューポートの上部の Y 位置。 D3D11_VIEWPORT_BOUNDS_MINとD3D11_VIEWPORT_BOUNDS_MAXの間の範囲。

Width

型: FLOAT

ビューポートの幅。

Height

型: FLOAT

ビューポートの高さ。

MinDepth

型: FLOAT

ビューポートの最小深度。 0 ~ 1 の範囲。

MaxDepth

型: FLOAT

ビューポートの最大深度。 0 ~ 1 の範囲。

注釈

いずれの場合も、WidthHeight は 0、>TopLeftX + WidthTopLeftY + Height は <= D3D11_VIEWPORT_BOUNDS_MAXにする必要があります。

ビューポートのサイズと機能レベルは、Direct3D 11 と Direct3D 10 の違いをサポートします。

ビューポートの最小サイズと最大サイズの範囲は、 D3D_FEATURE_LEVELによって定義されたフィーチャ レベルによって異なります。

  • Direct3D 11 では、小数部ビューポートがサポートされています。パラメーター型は浮動小数点数です。 機能レベル (D3D_FEATURE_LEVEL_11_0) では、(-32768、32,767) の間の (D3D11_VIEWPORT_BOUNDS_MIN、D3D11_VIEWPORT_BOUNDS_MAX) 値がサポートされます。
  • Direct3D 10 では、小数部ビューポートはサポートされていません。 機能レベル (D3D_FEATURE_LEVEL_10_1以下) では、(-16384、16383) の間の値 (D3D10_VIEWPORT_BOUNDS_MIN、D3D10_VIEWPORT_BOUNDS_MAX) がサポートされます。
 
メモ機能レベル 9_xの ID3D11DeviceContext::RSSetViewports の呼び出しで pViewports 配列のD3D11_VIEWPORT構造体のメンバーに float 値を指定した場合でも、RSSetViewports は DWORD を内部的に使用します。 この動作のため、ビューポートに負の左上隅を使用すると、フィーチャ レベルの RSSetViewports の呼び出し9_x失敗します。 このエラーは、 9_xの RSSetViewports によって浮動小数点値が検証なしで符号なし整数にキャストされ、整数オーバーフローが発生したために発生します。
 

要件

要件
Header d3d11.h

こちらもご覧ください

コア構造