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 陣列中的空白矩形是 no-op。 如果頂端值等於底部值或左值等於右值,則矩形是空的。
ClearView 不支援 3D 紋理。
ClearView 會將相同的色彩值套用至檢視中的所有數位配量;pRect 陣列中的所有矩形都會對應至每個陣列配量。 pRect 矩形陣列是單一表面上要清除的區域集。 如果檢視是陣列,ClearView 會個別清除每個數位配量上的所有矩形。
當使用者模式驅動程式將矩形套用至緩衝區時,它應該將頂端值設定為0,並將底部值設定為1,並將左值和右值設定為描述緩衝區內的範圍。 當頂端值等於底部值或左值等於右值時,矩形是空的,而且會達成 no-op。
驅動程式應根據 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]: R (或 Y for video)
- Color[1]: G (或 U/Cb for video)
- Color[2]: B (或 V/Cr for video)
- 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,就好像它與真正的 R8G8B8A8 表面並無不同。 在此情況下,R、G、B 和 A 並不表示標準 RGBA 色彩值;相反地,他們會識別記憶體中的位置,而呼叫端負責瞭解將數據放入視訊介面內容中該位置的意義。
不過,視訊介面的視訊檢視(例如提供給 CreateVideoDecoderOutputView 函式和其他 XxxInputView 和 XxxOutputView 函式的檢視)會出現在完整的邏輯維度中。 在此情況下,水準尺寸是 1920 像素寬,因此 RECT 結構傳遞至 clearView 。 這類 RECT必須對齊,因此它們不會跨越子取樣區塊,否則運行時間會卸除對這個函式的呼叫。 針對視訊檢視,YUV 色彩必須針對子取樣格式適當地複寫。 例如,ClearView 呼叫中的 YUV 會針對 YUY2 介面中的每個區塊重複 Y 值。
D3D10_DDI_RECT 結構定義為 RECT結構。
typedef RECT D3D10_DDI_RECT;
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 8 |
支援的最低伺服器 | Windows Server 2012 |
目標平臺 | 桌面 |
標頭 | d3d10umddi.h (包括 D3d10umddi.h) |