Urządzenia Direct3D (Direct3D 9)
Urządzenie Direct3D jest składnikiem renderowania Direct3D. Hermetyzuje i przechowuje stan renderowania. Ponadto urządzenie Direct3D wykonuje przekształcenia i operacje oświetlenia i rasteryzuje obraz na powierzchnię.
- XPDM a WDDM
- typy urządzeń (Direct3D 9)
- tworzenie urządzenia (Direct3D 9)
- tryb okienny a tryb Full-Screen (Direct3D 9)
- wybieranie urządzenia (Direct3D 9)
- utracone urządzenia (Direct3D 9)
- określanie obsługi sprzętu (Direct3D 9)
- przetwarzania danych wierzchołków (Direct3D 9)
- Pierwotnych
Architektonicznie urządzenia Direct3D zawierają moduł transformacji, moduł oświetlenia i moduł rasteryzujący, jak pokazano na poniższym diagramie.
Funkcja Direct3D obsługuje obecnie dwa główne typy urządzeń Direct3D:
- Urządzenie o połowę z przyspieszoną sprzętowo rasteryzacją i cieniowaniem zarówno sprzętowym, jak i programowym przetwarzaniem wierzchołków
- Urządzenie referencyjne
Te urządzenia można traktować jako dwa oddzielne sterowniki. Oprogramowanie i urządzenia referencyjne są reprezentowane przez sterowniki oprogramowania, a urządzenie o połowę jest reprezentowane przez sterownik sprzętu. Najczęstszym sposobem korzystania z tych urządzeń jest użycie urządzenia o połowę dla aplikacji wysyłkowych oraz urządzenia referencyjnego do testowania funkcji. Są one dostarczane przez inne firmy do emulacji określonych urządzeń — na przykład sprzętu programistycznego, który nie został jeszcze wydany.
Urządzenie Direct3D tworzone przez aplikację musi odpowiadać możliwościom sprzętu, na którym działa aplikacja. Funkcja Direct3D zapewnia możliwości renderowania przez uzyskanie dostępu do sprzętu 3D zainstalowanego na komputerze lub emulując możliwości sprzętu 3D w oprogramowaniu. W związku z tym direct3D zapewnia urządzeniom dostęp do sprzętu i emulację oprogramowania.
Urządzenia przyspieszane sprzętowo zapewniają znacznie lepszą wydajność niż urządzenia programowe. Typ urządzenia hal jest dostępny na wszystkich obsługiwanych kartach graficznych Direct3D. W większości przypadków aplikacje są przeznaczone dla komputerów, które mają przyspieszanie sprzętowe i polegają na emulacji oprogramowania, aby pomieścić komputery niższej klasy.
Z wyjątkiem urządzenia odniesienia urządzenia programowe nie zawsze obsługują te same funkcje co urządzenie sprzętowe. Aplikacje powinny zawsze wykonywać zapytania dotyczące możliwości urządzeń, aby określić, które funkcje są obsługiwane.
Ponieważ zachowanie oprogramowania i urządzeń referencyjnych dostarczanych z funkcją Direct3D 9 jest identyczne z działaniem urządzenia hal, kod aplikacji utworzony do pracy z urządzeniem o połowę będzie działać z oprogramowaniem lub urządzeniami referencyjnymi bez modyfikacji. Należy pamiętać, że chociaż dostarczone oprogramowanie lub zachowanie urządzenia referencyjnego jest identyczne z działaniem urządzenia o połowę, możliwości urządzenia różnią się, a konkretne urządzenie programowe może zaimplementować znacznie mniejszy zestaw możliwości.
Zachowania
Funkcja Direct3D umożliwia określenie zachowania urządzenia, a także typu urządzenia. Metoda IDirect3D9::CreateDevice umożliwia połączenie co najmniej jednej flagi zachowania w celu kontrolowania globalnych zachowań urządzenia Direct3D. Te zachowania określają, co to jest i nie jest utrzymywane w części czasu wykonywania Direct3D, a typy urządzeń określają, który sterownik ma być używany. Chociaż niektóre kombinacje zachowań urządzeń są nieprawidłowe, można użyć wszystkich zachowań urządzeń ze wszystkimi typami urządzeń. Na przykład prawidłowe jest określenie D3DDEVTYPE_SW na urządzeniu utworzonym za pomocą D3DCREATE_PUREDEVICE.
Tematy pokrewne