Delen via


Textuur vuile regio's (Direct3D 9)

Toepassingen kunnen optimaliseren welke subset van een textuur wordt gekopieerd door 'vuile' regio's op te geven op patronen. Alleen de regio's die als vuil zijn gemarkeerd, worden gekopieerd door een aanroep naar IDirect3DDevice9::UpdateTexture. De vuile regio's kunnen echter worden uitgebreid om de uitlijning te optimaliseren. Wanneer een textuur wordt gemaakt, wordt de hele textuur beschouwd als vuil. Alleen de volgende bewerkingen zijn van invloed op de vuile toestand van een textuur:

Vuile regio's worden ingesteld op het hoogste niveau van een mipmapped textuur en IDirect3DDevice9::UpdateTexture kan de vuile regio omlaag in de mip-keten uitbreiden om het aantal bytes te minimaliseren dat voor elk subniveau is gekopieerd. Houd er rekening mee dat de coƶrdinaten van het subniveau vuile regio naar buiten worden afgerond, dat wil gezegd, de breukdelen worden afgerond naar de dichtstbijzijnde rand van het patroon.

Omdat elk type textuur verschillende soorten vuile regio's heeft, zijn er methoden voor elk patroontype. 2D-patronen maken gebruik van vuile rechthoeken en volumetextuur gebruiken vakken.

Het doorgeven van NULL- voor de parameters pDirtyRect of pDirtyBox voor de bovenstaande methoden breidt het vuile gebied uit om het hele patroon te bedekken.

Elke vergrendelingsmethode kan D3DLOCK_NO_DIRTY_UPDATE nemen, waardoor wijzigingen in de vuile toestand van het patroon worden voorkomen. Zie Resources vergrendelen (Direct3D 9)voor meer informatie.

Wanneer meer informatie over de werkelijke set regio's die worden gewijzigd tijdens een vergrendelingsbewerking beschikbaar is, moeten toepassingen gebruikmaken van D3DLOCK_NO_DIRTY_UPDATE. Houd er rekening mee dat alleen een vergrendeling of een kopie naar een patroonsubniveau (dus zonder te vergrendelen of kopiƫren naar het hoogste niveau) de vuile regio's voor dat patroon niet bijwerkt. Toepassingen nemen dezelfde verantwoordelijkheid voor het bijwerken van vuile regio's wanneer ze lagere niveaus vergrendelen zonder het hoogste niveau te vergrendelen.

basisconcepten voor texturing