DirectX 11 - do czego służą popularne biblioteki?

DirectX to niezbędne, na każdym komputerze z systemem Windows, biblioteki mające swoje zastosowanie we wszelkiego rodzaju multimediach.

Biblioteki DirectX zapewniają odpowiednią wydajność oprogramowaniu multimedialnemu, które opiera się na tej technologii. Bez nich może być również niemożliwe uruchomienie pewnych gier i aplikacji, więc każdy użytkownik systemu Windows powinien mieć je zainstalowane, najlepiej w najnowszej dostępnej wersji.

Rozwojem DirectX zajmuje się Microsoft, który wykorzystuje go na platformie systemowej Windows i w konsolach Xbox. Biblioteki te odpowiadają między innymi za wspomaganie generowania grafiki 2D i 3D, dźwięku oraz szereg innych czynności związanych z poprawnym działaniem oprogramowania multimedialnego.

DirectX 11

DirectX 11

DirectX składa się z kilku komponentów. Każdy z nich jest odpowiedzialny za inną funkcjonalność. Oto krótkie opisy najważniejszych z nich:

DirectDraw - odpowiada za wyświetlanie grafiki 2D z użyciem akceleracji sprzętowej

Direct3D (D3D) - obsługuje grafikę trójwymiarową, wykorzystuje min. funkcje karty graficznej umożliwiające rysowanie obiektów 3D

DirectGI - obsługuje sprzęt odpowiedzialny za grafikę

DirectSound - odpowiedzialny za odtwarzanie i nagrywanie dźwięku oraz efekty dźwiękowe

DirectShow - komponent, którego zadaniem jest odtwarzania plików muzycznych i filmowych

DirectInput - przetwarza dane pozyskane z urządzeń wejściowych (klawiatura, myszka, pad i inne)

DirectPlay - komponent odpowiedzialny za gry multiplayer odbywające się poprzez komunikację sieciową

DirectWrite - odpowiada za renderowanie tekstu

DirectSetup - obsługuje instalację i aktualizację poszczególnych komponentów biblioteki DirectX.

Obecnie najnowsza wersja biblioteki DirectX jest oznaczona numerkiem 11.1. Została ona wydana wraz z początkiem sierpnia i jest dostępna dla najnowszego systemu giganta z Redmond - Windows 8. Wersja DirectX 11.0 jest przeznaczona dla Windows 7 i dla Windows Vista posiadającego drugi Service Pack. Windows XP obsługuje jedynie DirectX 9.0c.

DirectX 11 wprowadził kilka ciekawych i istotnych funkcji:

  • Obsługa wielordzeniowych procesorów - zdecydowanie lepsza obsługa układów wielordzeniowych pozwala bibliotekom DirectX 11 korzystać z kilku rdzeni procesora bez wcześniejszego implementowania tej funkcji przez programistów gier. Co więcej, gracze mogą odczuć pozytywną różnicę nawet jeśli korzystają z karty nie obsługujących najnowszych bibliotek DirectX. Funkcja ta poprawia wydajność gier nawet o kilkadziesiąt procent.

  • Teselacja - teselacja pozwala na precyzyjne rysowanie na ekranie bardzo złożonych obiektów, które karta graficzna tworzy z prostych wielokątów podczas generowania sceny 3D. W widoczny sposób zwiększa to szczegółowość i efektowność wyświetlanej w grach grafiki.

  • Domain shader - funkcja, która pozwala zaoszczędzić pracy karcie graficznej, co odbija się na płynności jej działania. Domain shader odpowiada za to, że obiekt zostanie wygenerowany tylko jeden raz. Wszelkie zmiany, które w nim zajdą będą odzwierciedlane jedynie w zmianach poszczególnych fragmentów obiektu i nie będą wymagały tworzenia go od nowa.

  • Shader Model 5.0 - w DirectX 11 wprowadzono nowy model cieniowania. Shader Model 5.0 umożliwia obsługę modułu podwójnej precyzji obliczeń, co w konsekwencji zwiększa jakość renderowania obrazu. W tym modelu wprowadzono też instrukcję odpowiedzialnych za sterowanie operacjami wejścia-wyjścia strumienia danych.

  • Kompresja tekstur - DirectX 11 zadebiutował z dwoma nowymi formatami kompresji tekstur: BC6 oraz BC7. BC 6 pozytywnie wpływa na jakość wyświetlanego obrazu (kompresuje tekstury w stosunku 6:1) bez znaczących spadków w szybkości jego generowania. Natomiast BC7 wspiera obsługę 8-bitowych tekstur LDR, które kompresuje w stopniu 3:1, zachowując ich odpowiednio wysoką jakość.

DirectX 11 można pobrać z naszej bazy programów. Znajdziecie w niej również DirectX SDK. SDK (Software Development Kit) to zestaw narzędzi dla deweloperów zawierający między innymi bilbioteki, przykładowe kody źródłowe i dokumentację DirectX, które ułatwią pisanie aplikacji z użyciem tej platformy.


Zobacz również