共用方式為


紋理骯髒區域 (Direct3D 9)

應用程式可以藉由在紋理上指定「骯髒」區域,將紋理的子集複製優化。 只有標示為 dirty 的區域會透過呼叫 IDirect3DDevice9::UpdateTexture來複製。 不過,可能會擴充骯髒的區域,以優化對齊方式。 建立紋理時,會將整個紋理視為骯髒。 只有下列作業會影響紋理的骯髒狀態:

Dirty 區域是在 mipmapped 紋理的最上層設定,IDirect3DDevice9::UpdateTexture 可以展開 Mip 鏈結中的肮髒區域,以將每個子層級複製的位元組數目降到最低。 請注意,子層級的骯髒區域座標會向外四捨五入,也就是說,其小數部分會四捨五入到紋理最接近邊緣。

因為每種紋理類型都有不同類型的骯髒區域,因此每個紋理類型都有方法。 2D 紋理使用骯髒的矩形,而音量紋理則使用方塊。

針對上述方法傳遞 pDirtyRect 或 pDirtyBox 參數 NULL 會展開髒區域以涵蓋整個紋理。

每個鎖定方法都可以採用D3DLOCK_NO_DIRTY_UPDATE,以防止對紋理的骯髒狀態進行任何變更。 如需詳細資訊,請參閱 鎖定資源 (Direct3D 9)

當有關鎖定作業期間變更之區域集的詳細資訊可用時,應用程式應該使用D3DLOCK_NO_DIRTY_UPDATE。 請注意,只有鎖定或複製至紋理子層級(也就是說,沒有鎖定或複製到最上層),並不會更新該紋理的骯髒區域。 當應用程式鎖定較低層級,而不鎖定最上層時,應用程式會承擔更新骯髒區域相同的責任。

基本文字概念