Udostępnij przez


D3DUSAGE

Opcje użycia identyfikujące sposób używania zasobów.

Poniższa tabela zawiera podsumowanie dostępnych opcji użycia.

Stały Opis
D3DUSAGE_AUTOGENMIPMAP
Zasób automatycznie wygeneruje mipmapy. Zobacz automatyczne generowanie map mipmap (Direct3D 9). Automatyczne generowanie map mipmap nie jest obsługiwane w przypadku tekstur objętościowych i powierzchni/tekstur głębokości. To użycie jest nieprawidłowe dla zasobu w pamięci systemowej (D3DPOOL_SYSTEMMEM).
D3DUSAGE_DEPTHSTENCIL
Zasób będzie buforem wzornika głębokości. D3DUSAGE_DEPTHSTENCIL można używać tylko z D3DPOOL_DEFAULT.
D3DUSAGE_DMAP
Zasób będzie mapą przemieszczania.
D3DUSAGE_DONOTCLIP
Ustaw wartość , aby wskazać, że zawartość buforu wierzchołka nigdy nie będzie wymagać przycinania. Podczas renderowania z, które mają ustawioną tę flagę, stan renderowania D3DRS_CLIPPING musi być ustawiony na wartość false.
D3DUSAGE_DYNAMIC
Ustaw wartość wskazującą, że bufor wierzchołka wymaga użycia pamięci dynamicznej. Jest to przydatne w przypadku sterowników, ponieważ umożliwia im podjęcie decyzji, gdzie umieścić bufor. Ogólnie rzecz biorąc, statycznych wierzchołków są umieszczane w pamięci wideo, a wierzchołków dynamicznych są umieszczane w pamięci protokołu AGP. Należy pamiętać, że nie ma oddzielnego użycia statycznego. Jeśli nie określisz D3DUSAGE_DYNAMIC, bufor wierzchołka jest statyczny. D3DUSAGE_DYNAMIC jest ściśle wymuszana za pomocą flag D3DLOCK_DISCARD i D3DLOCK_NOOVERWRITE blokowania. W związku z tym D3DLOCK_DISCARD i D3DLOCK_NOOVERWRITE są prawidłowe tylko w wierzchołków utworzonych za pomocą D3DUSAGE_DYNAMIC. Nie są one prawidłowymi flagami w statycznych wierzchołków. Aby uzyskać więcej informacji, zobacz Zarządzanie zasobami (Direct3D 9).
Aby uzyskać więcej informacji na temat używania dynamicznych wierzchołków, zobacz Optymalizacje wydajności (Direct3D 9).
D3DUSAGE_DYNAMIC i D3DPOOL_MANAGED są niezgodne i nie powinny być używane razem. Zobacz D3DPOOL.
Tekstury mogą określać D3DUSAGE_DYNAMIC. Jednak zarządzane tekstury nie mogą używać D3DUSAGE_DYNAMIC. Aby uzyskać więcej informacji na temat tekstur dynamicznych, zobacz Using Dynamic Textures (Używanie tekstur dynamicznych).
D3DUSAGE_NONSECURE
Zezwalaj na otwieranie udostępnionej powierzchni utworzonej przez bezpieczną aplikację przez niezabezpieczoną aplikację, która ma współużytkowaną dojście.
Różnice między direct3D 9 i Direct3D 9Ex: Ta flaga jest dostępna tylko w trybie Direct3D 9Ex.
D3DUSAGE_NPATCHES
Ustaw wartość wskazującą, że bufor wierzchołka ma być używany do rysowania N-patches.
D3DUSAGE_POINTS
Ustaw wartość wskazującą, że wierzchołek lub bufor indeksu będą używane do sprites punktów rysunku. Bufor zostanie załadowany w pamięci systemowej, jeśli do emulowania sprites punktów potrzebne jest przetwarzanie wierzchołków oprogramowania.
D3DUSAGE_RENDERTARGET
Zasób będzie obiektem docelowym renderowania. D3DUSAGE_RENDERTARGET można używać tylko z D3DPOOL_DEFAULT.
D3DUSAGE_RTPATCHES
Ustaw wartość wskazującą, że bufor wierzchołka ma być używany do rysowania elementów pierwotnych o wysokiej kolejności.
D3DUSAGE_SOFTWAREPROCESSING
Jeśli ta flaga jest używana, przetwarzanie wierzchołków odbywa się w oprogramowaniu. Jeśli ta flaga nie jest używana, przetwarzanie wierzchołków odbywa się na sprzęcie.
Flagę D3DUSAGE_SOFTWAREPROCESSING można ustawić, gdy dla tego urządzenia włączono przetwarzanie wierzchołków mieszanych lub programowych (D3DCREATE_MIXED_VERTEXPROCESSING / D3DCREATE_SOFTWARE_VERTEXPROCESSING). D3DUSAGE_SOFTWAREPROCESSING należy ustawić, aby były używane z przetwarzaniem wierzchołków oprogramowania w trybie mieszanym, ale nie należy go ustawiać pod kątem najlepszej możliwej wydajności podczas korzystania z przetwarzania indeksów sprzętowych w trybie mieszanym (D3DCREATE_HARDWARE_VERTEXPROCESSING). Jednak ustawienie D3DUSAGE_SOFTWAREPROCESSING jest jedyną opcją, gdy pojedynczy bufor jest używany zarówno z przetwarzaniem sprzętu, jak i wierzchołka oprogramowania. D3DUSAGE_SOFTWAREPROCESSING jest dozwolona dla urządzeń mieszanych i programowych.
D3DUSAGE_SOFTWAREPROCESSING jest używany z CheckDeviceFormat , aby dowiedzieć się, czy określony format tekstury może być używany jako tekstura wierzchołka podczas przetwarzania wierzchołków oprogramowania. Jeśli to możliwe, tekstura musi zostać utworzona w D3DPOOL_SCRATCH.
D3DUSAGE_TEXTAPI
Ta flaga użycia musi być określona dla wierzchołków i powierzchni źródłowych używanych w wywołaniach funkcji ComposeRects. Tekstury utworzone za pomocą tej flagi użycia nie mogą być używane do filtrowania tekstur. wierzchołków utworzone za pomocą tej flagi użycia nie mogą być używane jako źródła strumienia wejściowego.
Różnice między direct3D 9 i Direct3D 9Ex: Ta flaga jest dostępna tylko w trybie Direct3D 9Ex.
D3DUSAGE_WRITEONLY
Informuje system, że aplikacja zapisuje tylko w buforze wierzchołka. Użycie tej flagi umożliwia sterownikowi wybranie najlepszej lokalizacji pamięci na potrzeby wydajnych operacji zapisu i renderowania. Próba odczytu z buforu wierzchołka utworzonego za pomocą tej funkcji zakończy się niepowodzeniem. utworzone za pomocą D3DPOOL_DEFAULT , które nie określają D3DUSAGE_WRITEONLY , mogą mieć poważne kary za wydajność. D3DUSAGE_WRITEONLY wpływa tylko na wydajność D3DPOOL_DEFAULT .
D3DUSAGE_RESTRICTED_CONTENT
Ustawienie tej flagi oznacza, że zasób może zawierać chronioną zawartość.
Różnice między direct3D 9 i Direct3D 9Ex: Ta flaga jest dostępna tylko w trybie Direct3D 9Ex.
D3DUSAGE_RESTRICT_SHARED_RESOURCE
Ustawienie tej flagi oznacza, że dostęp do zasobu udostępnionego powinien być ograniczony.
Różnice między direct3D 9 i Direct3D 9Ex: Ta flaga jest dostępna tylko w trybie Direct3D 9Ex.
D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER
Ustawienie tej flagi oznacza, że sterownik powinien ograniczyć dostęp do zasobu udostępnionego. Obiekt wywołujący musi utworzyć uwierzytelniony kanał ze sterownikiem. Sterownik powinien następnie zezwolić na dostęp do procesów, które próbują otworzyć ten zasób udostępniony.
Różnice między direct3D 9 i Direct3D 9Ex: Ta flaga jest dostępna tylko w trybie Direct3D 9Ex.

Uwagi

Kombinacje użycia i zasobów

Użycie jest określane, gdy zasób jest tworzony lub określony za pomocą polecenia CheckDeviceType w celu przetestowania możliwości istniejącego zasobu. W poniższej tabeli przedstawiono użycie, które można zastosować do typów zasobów.

Zastosowanie Tworzenie buforu wierzchołka Tworzenie buforu indeksu Tworzenie tekstur Tworzenie tekstury kostki Tworzenie tekstury objętości Tworzenie urządzenia Surface Sprawdzanie formatu urządzenia
D3DUSAGE_AUTOGENMIPMAP Tak tak
D3DUSAGE_DEPTHSTENCIL Tak Tak
D3DUSAGE_DMAP tak tak
D3DUSAGE_DONOTCLIP tak
D3DUSAGE_DYNAMIC tak tak tak tak tak
D3DUSAGE_NONSECURE tak
D3DUSAGE_NPATCHES tak
D3DUSAGE_POINTS tak
D3DUSAGE_RTPATCHES tak
D3DUSAGE_RENDERTARGET Tak Tak
D3DUSAGE_SOFTWAREPROCESSING tak tak tak tak
D3DUSAGE_TEXTAPI tak tak
D3DUSAGE_WRITEONLY tak

 

Użyj checkDeviceFormat , aby sprawdzić obsługę sprzętu dla tych użycia.

Każda z metod tworzenia zasobów jest wymieniona tutaj.

Funkcje tekstowe D3DXCreatexxx używają również niektórych z tych wartości stałych do tworzenia zasobów.

Aby uzyskać więcej informacji na temat typów puli i ich ograniczeń dotyczących niektórych użycia, zobacz D3DPOOL.

Wymagania

Wymaganie Wartość
Nagłówek
D3d9types.h

Zobacz także

Stałe Direct3D

D3DUSAGE_QUERY

D3DDECLUSAGE

D3DPOOL