Texture Dirty Regions (Direct3D 9)

Anwendungen können optimieren, welche Teilmenge einer Textur kopiert wird, indem sie "dirty"-Bereiche auf Texturen angeben. Nur die als geändert markierten Regionen werden durch einen Aufruf von IDirect3DDevice9::UpdateTexture kopiert. Die dirty-Bereiche können jedoch erweitert werden, um die Ausrichtung zu optimieren. Wenn eine Textur erstellt wird, wird die gesamte Textur als "dirty" betrachtet. Nur die folgenden Vorgänge wirken sich auf den zustandsbearbeitenden Zustand einer Textur aus:

Geänderte Bereiche werden auf der obersten Ebene einer Mipmappentextur festgelegt, und IDirect3DDevice9::UpdateTexture kann den geänderten Bereich in der MIP-Kette erweitern, um die Anzahl der für jede Unterebene kopierten Bytes zu minimieren. Beachten Sie, dass die Koordinaten der unteren Ebene für den zierlichen Bereich nach außen gerundet werden, d. b. ihre Bruchteile auf den nächsten Rand der Textur gerundet werden.

Da jeder Texturtyp unterschiedliche Arten von dirty-Bereichen hat, gibt es Methoden für jeden Texturtyp. 2D-Texturen verwenden dirty rectangle, und Volumetexturen verwenden Felder.

Durch Übergeben von NULL für die Parameter pDirtyRect oder pDirtyBox für die oben genannten Methoden wird der dirty-Bereich erweitert, um die gesamte Textur zu abdecken.

Jede Sperrmethode kann D3DLOCK NO DIRTY UPDATE verwenden, wodurch Änderungen am geänderten Zustand der _ _ Textur verhindert _ werden. Weitere Informationen finden Sie unter Sperren von Ressourcen (Direct3D 9).

Wenn weitere Informationen zu den tatsächlichen Regionen verfügbar sind, die während eines Sperrvorganges geändert werden, sollten Anwendungen D3DLOCK _ NO _ DIRTY UPDATE _ verwenden. Beachten Sie, dass eine Sperre oder eine Kopie auf eine Texturunterebene (d. h. ohne Sperren oder Kopieren auf die oberste Ebene) die geänderten Bereiche für diese Textur nicht aktualisiert. Anwendungen übernehmen die gleiche Verantwortung für die Aktualisierung geänderter Bereiche, wenn sie niedrigere Ebenen sperren, ohne die oberste Ebene zu sperren.

Grundlegende Texturierungskonzepte