IDirect3DCubeTexture9::AddDirtyRect 方法 (d3d9.h)
將已變更的區域新增至 Cube 紋理資源。
語法
HRESULT AddDirtyRect(
[in] D3DCUBEMAP_FACES FaceType,
[in] const RECT *pDirtyRect
);
參數
[in] FaceType
類型: D3DCUBEMAP_FACES
D3DCUBEMAP_FACES列舉型別的成員,識別 Cube 地圖臉部。
[in] pDirtyRect
類型:const RECT*
RECT結構的指標,指定已變更的區域。 指定 Null 會展開已變更的區域,以涵蓋整個 Cube 紋理。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,則傳回值可以是:D3DERR_INVALIDCALL。
備註
基於效能考慮,只會記錄紋理層級零的已變更區域。 針對子層級,假設對應的 (縮放) 矩形或方塊也會遭到變更。 在呼叫 IDirect3DCubeTexture9::LockRect時,系統會自動記錄未D3DLOCK_NO_DIRTY_UPDATE或D3DLOCK_READONLY。 IDirect3DDevice9::UpdateSurface的目的地介面也會自動標示為已變更。
使用 D3DLOCK_NO_DIRTY_UPDATE 並明確指定已變更的區域,可用來提升 IDirect3DDevice9::UpdateTexture的效率。 使用此方法,應用程式可以藉由在資源上指定已變更的區域,將資源子集複製的子集優化。 不過,可能會擴充已變更的區域,以優化對齊方式。
需求
目標平台 | Windows |
標頭 | d3d9.h (包含 D3D9.h) |
程式庫 | D3D9.lib |
另請參閱
IDirect3DCubeTexture9::GetLevelDesc