PFND3D11_1DDI_CLEARVIEW回呼函式 (d3d10umddi.h)
PFND3D11_1DDI_CLEARVIEW 會將資源檢視中的所有項目設定為一個值。 資源檢視是一種介面描述元,表示格式,而且可能是資源的子集。
語法
PFND3D11_1DDI_CLEARVIEW Pfnd3d111DdiClearview;
void Pfnd3d111DdiClearview(
D3D10DDI_HDEVICE hDevice,
D3D11DDI_HANDLETYPE viewType,
VOID *hView,
const FLOAT Color[4],
const D3D10_DDI_RECT *pRect,
UINT NumRects
)
{...}
參數
hDevice
顯示裝置的句柄 (圖形內容) 。
viewType
型 別為 D3D11DDI_HANDLETYPE 的值,可識別支援這個清除作業的檢視句柄類型。 可能的型別如下。
- D3D10DDI_HT_RENDERTARGETVIEW
- D3D11DDI_HT_UNORDEREDACCESSVIEW
- 任何D3D11_1DDI_HT_VIDEOXXX 類型
hView
要清除的資源檢視指標。
Color[4]
pRect
資源檢視中矩形的 RECT 結構數位,要清除。 如果為 NULL,ClearView 會清除整個表面。
NumRects
pRect 參數所指定數位中的矩形數目。
傳回值
無
備註
ClearView 僅適用於轉譯目標檢視, (RTV) 、未排序存取檢視 (UAV) 或任何 Texture2D 表面的視訊檢視。 pRect 陣列中的空矩形是無作業。 如果頂端值等於底部值或左值等於右值,則矩形是空的。
ClearView 不支援 3D 紋理。
ClearView 會將相同的色彩值套用至檢視中的所有陣列配量; pRect 陣列中的所有矩形都會對應至每個數位配量。 矩形的 pRect 陣列是在單一表面要清除的一組區域。 如果檢視是陣列, ClearView 會個別清除每個數位列配量上的所有矩形。
當使用者模式驅動程式將矩形套用至緩衝區時,它應該將頂端值設定為0,並將底部值設定為1,並將左值和右值設定為描述緩衝區內的範圍。 當頂端值等於底部值或左值等於右值時,矩形是空的,而且達到無作業。
驅動程式應該根據 Direct3D 轉換規則,將色彩值轉換成目的地格式。 例如,如果檢視的格式是DXGI_FORMAT_R8G8B8A8_UNORM,請將輸入限制為 0.0f 到 1.0f (+INF - 1.0f (0XFF) /NaN ->> 0.0f) 。
如果格式為整數,例如 DXGI_FORMAT_R8G8B8A8_UINT,請接受輸入作為整數浮點數。 因此,235.0f 會對應至 235 (四捨五入為零、超出範圍/INF 值限制為目標範圍,而 NaN 會) 。
以下是色彩對應:
- Color[0]:影片 (或 Y 的 R)
- Color[1]: G (或 U/Cb for video)
- Color[2]:影片) 的 B (或 V/Cr
- Color[3]: A
對於具有 YUV 或 YCbBr 格式的視訊檢視, ClearView 不會轉換色彩值。 在格式名稱未指出_UNORM、_UINT等等的情況下, ClearView 會假設_UINT。 因此,235.0f 會對應至 235 (四捨五入為零、超出範圍/INF 值限制為目標範圍,而 NaN 會) 。
對於子取樣 RTV 或 UAV 視訊介面的 Microsoft Direct3D 檢視,請注意,檢視的維度是以檢視格式的像素數目為基礎,而不是視訊圖元的基礎邏輯數目。 例如,假設表面具有 1920 x 1080 像素尺寸的 YUY2 格式,而 RTV 會使用格式 DXGI_FORMAT_R8G8B8A8_UINT。 檢視會顯示為 Direct3D,因為 1920/2 = 960 R8G8B8A8 像素的水準方向。 因此,傳入 ClearView 的任何矩形都會在此空間中解譯。 此外,所有 4 個元件都會取得清除值, R8G8B8A8,就像它與 true R8G8B8A8 表面不同。 在此情況下,R、G、B 和 A 不表示標準 RGBA 色彩值;相反地,他們會識別記憶體中的位置,而呼叫端負責瞭解將數據放入視訊介面內容中該位置的意義。
不過,視訊介面的視訊檢視 (例如提供給 CreateVideoDecoderOutputView 函式的檢視,以及其他 XxxInputView 和 XxxOutputView 函式) 會出現在完整的邏輯維度上。 在此情況下,水準尺寸為 1920 像素寬,因此傳遞至 ClearView 的 RECT 結構會接受該大小。 這類 RECT必須對齊,使其不會分層子取樣區塊,否則運行時間會卸除對此函式的呼叫。 對於視訊檢視,YUV 色彩必須針對子取樣格式適當地複寫。 例如, ClearView 呼叫中的 YUV 針對 YUY2 介面中的每個區塊重複 Y 值。
D3D10_DDI_RECT 結構定義為 RECT 結構。
typedef RECT D3D10_DDI_RECT;
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 |
最低支援的伺服器 | Windows Server 2012 |
目標平台 | 桌面 |
標頭 | d3d10umddi.h (包含 D3d10umddi.h) |