Udostępnij za pośrednictwem


Właściwości zasobu (Direct3D 9)

Wszystkie zasoby współdzielą następujące właściwości.

  • Zwyczaj. Sposób użycia zasobu, na przykład jako tekstury lub elementu docelowego renderowania.
  • Format. Format danych, na przykład format pikseli powierzchni 2D.
  • Basen. Typ pamięci, w której przydzielono zasób.
  • Typ. Typ zasobu, na przykład bufor wierzchołka lub obiekt docelowy renderowania.

Użycie zasobów jest wymuszane. Aplikacja, która będzie używać zasobu w określonej operacji, musi określić tę operację w czasie tworzenia zasobów. Aby uzyskać listę stałych użycia zdefiniowanych dla zasobów, zobacz D3DUSAGE.

D3DUSAGE_RTPATCHES, D3DUSAGE_NPATCHES i stałe D3DUSAGE_POINTS wskazują sterownikowi, że dane w tych mogą być używane odpowiednio do trójkątnych lub siatki poprawek, N-patches lub sprites punktów. Te flagi są udostępniane w przypadku, gdy sprzęt nie może wykonać tych operacji bez przetwarzania hosta. W związku z tym sterownik będzie chciał przydzielić te powierzchnie w pamięci systemowej, aby procesor mógł uzyskać do nich dostęp. Jeśli sterownik może wykonać te operacje w całości na sprzęcie, może przydzielić te powierzchnie w pamięci wideo lub AGP, aby uniknąć kopiowania hosta i zwiększyć wydajność co najmniej dwa razy. Należy pamiętać, że informacje dostarczone przez te flagi nie są absolutnie wymagane. Sterownik może wykryć, że takie operacje są wykonywane na danych i przeniesie bufor z powrotem do pamięci systemowej dla kolejnych ramek.

Aby uzyskać szczegółowe informacje o flagach użycia i sposobie ich powiązania z określonymi zasobami, zobacz strony referencyjne na poszczególnych metodach tworzenia zasobów.

Aby uzyskać informacje o formacie powierzchni zasobów, zobacz typ D3DFORMAT wyliczony.

Klasa pamięci, która zawiera zasobu, jest nazywana pulą. Wartości puli są definiowane przez typ D3DPOOL wyliczany. Nie można mieszać puli dla różnych obiektów zawartych w jednym zasobie — czyli poziomów mip w mapie mip — i gdy pula zostanie wybrana dla zasobu, nie można zmienić puli.

Typy zasobów są ustawiane niejawnie w czasie wykonywania, gdy aplikacja wywołuje metodę tworzenia zasobów, taką jak IDirect3DDevice9::CreateCubeTexture. Typy zasobów są definiowane przez typ D3DRESOURCETYPE wyliczany. Aplikacje mogą wykonywać zapytania dotyczące tych typów w czasie wykonywania; jednak oczekuje się, że większość scenariuszy nie będzie wymagać sprawdzania typów w czasie wykonywania.

zasobów Direct3D