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

另請參閱

IDirect3DDevice9

IDirect3DDevice9::D eletePatch

使用 Higher-Order Primitives (Direct3D 9)