IDirect3DDevice9::D rawRectPatch 方法 (d3d9helper.h)
使用目前設定的數據流繪製矩形修補程式。
語法
HRESULT DrawRectPatch(
[in] UINT Handle,
[in] const float *pNumSegs,
[in] const D3DRECTPATCH_INFO *pRectPatchInfo
);
參數
[in] Handle
類型: UINT
要繪製之矩形修補的句柄。
[in] pNumSegs
類型: const float*
四個浮點值的陣列指標,可識別矩形修補的每個邊緣應該在鑲嵌時分割成的區段數目。 請參閱 D3DRECTPATCH_INFO。
[in] pRectPatchInfo
類型: const D3DRECTPATCH_INFO*
D3DRECTPATCH_INFO 結構的指標,描述要繪製的矩形修補程式。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,則可以D3DERR_INVALIDCALL傳回值。
備註
針對靜態修補程式:設定頂點著色器、設定適當的數據流、在 pRectPatchInfo 參數中提供修補程序資訊,以及指定句柄,讓 Direct3D 可以擷取和快取資訊。 呼叫 IDirect3DDevice9::D rawRectPatch ,並將 pRectPatchInfo 設定為 NULL 以有效率地繪製修補程式。 繪製快取的修補程式時,會忽略目前設定的數據流。 藉由指定 pNumSegs 的新值來覆寫快取的 pNumSegs。 轉譯快取的修補程式時,您必須設定擷取時所設定的相同頂點著色器。
使用句柄呼叫 IDirect3DDevice9::D rawRectPatch 會使先前 IDirect3DDevice9::D rawTriPatch 呼叫快取的相同句柄失效。
針對動態修補程式,修補程式數據會變更修補程式的每個轉譯,因此快取信息沒有效率。 應用程式可以將 [句柄] 設定為 0,將此傳達給 Direct3D。 在此情況下,Direct3D 會使用目前設定的數據流和 pNumSegs 值繪製修補程式,而且不會快取任何資訊。 同時將 Handle 設定為 0 且 pRectPatchInfo 設定為 NULL 無效。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d9helper.h (包含 D3D9.h) |
程式庫 | D3D9.lib |