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支援 (D3D11_VIEWPORT_BOUNDS_MIN,D3D11_VIEWPORT_BOUNDS_MAX) 值介于 (-32768、32,767) 之間。
  • Direct3D 10 不支援小數檢視區。 功能層級D3D_FEATURE_LEVEL_10_1 (或低于) 支援 (D3D10_VIEWPORT_BOUNDS_MIN,D3D10_VIEWPORT_BOUNDS_MAX) 值介于 (-16384、16383) 之間。
 
注意即使您在呼叫 ID3D11DeviceContext::RSSetViewports 的功能層級9_x中,為 pViewports 陣列指定D3D11_VIEWPORT結構的成員浮點數,RSSetViewports 仍會在內部使用 DWORD。 由於此行為,當您針對檢視區使用負左上角時,對功能層級的 RSSetViewports 呼叫會失敗9_x。 發生此失敗的原因是9_x的 RSSetViewports 會將浮點值轉換成不帶正負號的整數,這會導致整數溢位。
 

規格需求

需求
標頭 d3d11.h

另請參閱

核心結構