Udostępnij za pośrednictwem


Powierzchnie Direct3D (Direct3D 9)

Powierzchnia reprezentuje liniowy obszar pamięci wyświetlania i zwykle znajduje się w pamięci wyświetlanej karty wyświetlania, chociaż powierzchnie mogą istnieć w pamięci systemowej. Powierzchnie są zarządzane przez interfejsIDirect3DSurface9.

  • Bufor frontu. Prostokąt pamięci przetłumaczony przez kartę graficzną i wyświetlany na monitorze. W trybie Direct3D aplikacja nigdy nie zapisuje bezpośrednio w buforze frontu.
  • Bufor wsteczny. Prostokąt pamięci, do którego aplikacja może bezpośrednio zapisywać dane. Bufor wsteczny nigdy nie jest wyświetlany bezpośrednio na monitorze.
  • Przerzucanie powierzchni. Proces przenoszenia buforu wstecznego do buforu frontu.
  • Zamień łańcuch. Kolekcja co najmniej jednego buforu wstecznego, który można przedstawić szeregowo buforowi frontu.

Uzyskiwanie powierzchni

Utwórz powierzchnię, wywołując dowolną z następujących metod:

Formaty powierzchni określają, jak są interpretowane dane dla każdego piksela w pamięci powierzchni. Funkcja Direct3D używa D3DFORMAT składowej struktury D3DSURFACE_DESC do opisania formatu powierzchni. Format istniejącej powierzchni można pobrać, wywołując metodę GetDesc.

Po utworzeniu powierzchni można uzyskać do niej wskaźnik, wywołując dowolną z następujących metod:

Interfejs IDirect3DSurface9 umożliwia pośredni dostęp do pamięci za pośrednictwem metody UpdateSurface. Ta metoda umożliwia skopiowanie prostokątnego regionu pikseli z jednego interfejsu IDirect3DSurface9 do innego interfejsu IDirect3DSurface 9. Interfejs surface ma również metody bezpośredniego uzyskiwania dostępu do pamięci wyświetlania. Na przykład można użyć metody LockRect, aby zablokować prostokątny obszar pamięci wyświetlania. Ważne jest, aby wywołać UnlockRect po zakończeniu pracy z zablokowanym prostokątnym regionem na powierzchni.

Dodatkowe tematy dotyczące powierzchni

Dowiedz się więcej o sposobie używania powierzchni z dowolnym z następujących tematów:

wprowadzenie