Polecamy Recenzje Przed premierą Publicystyka Warto zagrać Artykuły PREMIUM
Publicystyka 14 czerwca 2006, 09:18

autor: Wojciech Gatys

DirectX 10 - Co nam da?

Wiemy już, że największy na świecie producent nie żartuje, a zapowiedzi rewolucji nie są czcze. No dobrze, ale jakie są konkrety? Przede wszystkim Microsoft wyszedł – jak to się ładnie mówi – na przeciw oczekiwaniom producentów aplikacji i gier.

Witam, czy wszyscy Microsoft-haters są już na sali? Uwaga, zaczynamy warsztaty. Słowem wprowadzenia oczywiście przyznam rację, że Windowsy są okropne, strasznie się zawieszają, a ciąg znaków „WIlli4M Gat3s TrzecI” to po dodaniu kodów ASCII niewątpliwie 666! A teraz zaczynamy eksperyment – zamiast odpalenia najnowszego Splinter Cella pod tymi strasznymi Windowsami, cofniemy się o 20 lat i skorzystamy z DOS-a! Proszę szanownych zebranych o rozpoczęcie ustawiania parametrów karty dźwiękowej, graficznej, dostosowanie sterowników, a w wybranych przypadkach – skorzystanie ze specjalnie przygotowanego dysku startowego. Co to, nie bardzo wiadomo, który wybrać adres, jakie DMA i IRQ? Noo, przecież właśnie o to chodziło, niet?

Postanowiłem rozpocząć ten artykuł w powyższy, niezwykle obrazowy – przyznacie to chyba sami – sposób po to, aby przypomnieć graczom, jakie korzyści przyniosły im Windowsy 95 i zestaw bibliotek DirectX. Zgadza się, jedenaście lat temu nowe Windowsy może nie były idealne (po dziś dzień nie są) i każdy szanujący się gracz korzystał z dual-boota. Ale wraz z rozwojem kolejnych wersji DirectX ustawianie kart dźwiękowych i graficznych, problemy z naszym wiernym Voodoo i konieczność centrowania joysticka w każdej grze odeszły w niepamięć. A dlaczego? Dlatego, że wszystko za nas załatwia teraz DirectX.

DicertX – wersja cybernetyczna i wersja radioaktywna.

Oczywiście, nie będę idealizował wielkiego M i nie twierdzę, że dajrekt rozwiązuje wszystkie nasze problemy. Ale na pewno jest łatwiej, a każda kolejna wersja sterowników jest lepsza. Wszystko konfiguruje się automatycznie, przy instalacji windowsów, a to, jakiego nasza karta używa przerwania, na zawsze możemy wyrzucić z naszej świadomości. Na szczęście. Teraz, wraz ze zbliżaniem się Windows Vista, Gigant z Redmond przygotowuje kolejną rewolucję – dziesiąta, jubileuszowa edycja Direct X będzie jednym z kluczowych elementów nowego systemu operacyjnego i wedle twórców, okaże się być prawdziwą rewolucją.

Dowodem na to może być fakt, że po raz pierwszy w historii bibliotek, DirectX 10 nie będzie wstecznie kompatybilny z poprzednią wersją. Co to oznacza? Że jeśli któraś gra nie będzie obsługiwała „dziesiątki” (a póki Microsoft nie nauczy programistów z niej korzystać, pewnie będzie ich większość), pod DirectX 10 nie zadziała. Nie musimy się jednak zbytnio martwić, że zmiana na Windows Vista spowoduje pożegnanie się z naszymi ulubionymi produkcjami – przewidywany jest specjalny build DirectX 9.0 pod Vistę, dzięki któremu starsze gry będą spokojnie działały. Oczywiście ze wszystkimi ograniczeniami, wynikającymi z wersji dziewiątej.

Wiemy już, że największy na świecie producent nie żartuje, a zapowiedzi rewolucji nie są czcze. No dobrze, ale jakie są konkrety? Przede wszystkim Microsoft wyszedł – jak to się ładnie mówi – na przeciw oczekiwaniom producentów aplikacji i gier. Każdy, kto tworzył silniki 3D i aplikacje graficzne pod DirectX (czyli właściwie każdy, kto tworzył gry na PC) miał swoją wizję bibliotek – a to ulepszona obsługa shaderów, a to poprawki w kodzie rysującym wielokąty... Microsoft zgromadził wszystkie te opinie, zaprzągł do pracy swoich programistów i obiecuje, że ogromna większość poprawek pojawi się w wersji numer 10. No proszę – MS słuchający swoich klientów? Niektórym nie mieści się to pewnie w głowie. A tymczasem nowy Direct ma nie tylko ułatwić życie programistom, ale i przyspieszyć i ujednolicić sporo efektów, które dotąd wymagały ogromnych mocy obliczeniowych.

Jedną z pierwszych gier, wykorzystujących DirectX 10 będzie Crysis.

Co więcej, wszystko lub prawie wszystko zostało napisane od początku. Brak wstecznej kompatybilności oznacza, że programiści mogli zerwać definitywnie z tym, co było kiepskie i nieoptymalnie napisane w poprzednich wersjach, a skupić się na najnowszych technologiach i sprzęcie (Microsoft jasno zapowiada, że poszczególne komponenty pisane są tak, aby działały optymalnie na kartach Nvidii i ATI). Zgodnie z przewodnią myślą całych Windows Vista – praca i zabawa z DirectX 10 ma być pozbawiona jakichkolwiek zwisów i kłopotów. No, pożyjemy, zobaczymy.

Nowe biblioteki to również poprawiona obsługa modelu fizycznego.

Nowy model współpracy systemu Windows Vista ze sterownikami oznacza, że drivery do poszczególnych urządzeń (kart graficznych czy dźwiękowych) nie są częścią kernelu, ale działają na poziomie użytkownika. Ma to zapewnić większą stabilność systemu - jeśli z powodu błędnego sterownika lub nieoczekiwanego zachowania sprzętu wystąpi błąd, będzie on niekrytyczny – przewróci się najwyżej aplikacja, a Vista działać będzie nadal. Definitywny koniec niebieskiego ekranu? Miejmy nadzieję. Co więcej, dzięki takiemu rozwiązaniu sterowniki będą miały większy dostęp do zasobów, co ponownie korzystnie wpłynie na wydajność systemu i to, co tygrysy lubią najbardziej – większą liczbę klatek na sekundę.

W DirectX 10 znikną ograniczenia, które dotychczas były zmorą dla programistów. Do tej pory na sztywno założony był limit około 500 obiektów na pojedynczą scenę. Teraz możliwe będzie wypełnienie świata gry niemal nieograniczoną liczbą obiektów (oczywiście trzeba pamiętać o ograniczeniach sprzętowych i możliwościach karty graficznej), co znacznie ożywi i zwiększy interaktywność świata, w którym poruszać się będzie nasz bohater. Przy okazji, programiści Microsoftu ujawnili, że tylko w tym przypadku, brak wstecznej kompatybilności zwiększa wydajność „dziesiątki” o około 20%.

Zmienia się też podejście do shaderów – do tej pory pixel i vertex shadery działały oddzielnie – kiedy narysowanie sceny wymagało wykorzystania efektów typu per pixel, pozostałe zasoby karty pozostawały bezczynne. DirectX dodaje nowy rodzaj shadera – tak zwany geometry shader. Pozwala on tworzyć dodatkowe wielokąty i nadawać złudzenie wysokości płaskim teksturom. Możemy być pewni, że ta nowinka szybko znajdzie zastosowanie i uznanie programistów gier, a dzięki niej lokacje wyglądać będą bardziej realistycznie, niż kiedykolwiek. Co więcej, najnowsze generacje kart graficznych (na przykład R600 od ATI) korzystają ze zunifikowanych shaderów, które mogą być wykorzystywane w obu wspomnianych przypadkach. Taki uniwersalny shader działa jako pixel shader, kiedy jest potrzebny, a kiedy rysowanie sceny wymaga vertex shadera – przejmuje jego obowiązki. W ten sposób wykorzystanie potencjału karty jest optymalne. Dodajmy do tego specjalne, sprzętowe systemy arbitrażu shaderów, które również wykorzystywane są w najnowszych kartach i możemy oczekiwać, że nasze gry pod Windows Vista i DirectX 10 będą dosłownie szalały.

A jeśli jakiś producent (tak, tak – o ciebie chodzi NVidio) póki co zamierza pozostać przy idei sztywno ustalonych vertex i pixel shaderów, DirectX 10 też będzie działał tak optymalnie, jak to możliwe, choć Microsoft otwarcie przyznaje, że zunifikowane shadery działają pod dziesiątką najlepiej.

A wszystko to w Windows Vista.

Co na to wszystko programiści i jak wspomniane efekty będą wyglądały na ekranie? Środowisko producentów gier jest podekscytowane i patrzy w przyszłość z nadzieją. Już pojawiły się głosy na temat tego, jak możliwości nowego Directa można zastosować w praktyce. Oczywiście większość z nich to „szybciej, wyżej, dalej” czyli – większe lokacje, bardziej dopracowane modele, bardziej płynne animacje. Ale pojawiają się też głosy, że nareszcie zobaczymy w grach potwory zmieniające kształt w czasie rzeczywistym – morfowanie się postaci i przechodzenie z człowieka w wilkołaka (może ktoś wreszcie zrobi ten remake Knight Lore, co?) mają wyglądać wprost fantastycznie. Co więcej, dzięki nowym kartom grafiki i wsparciu Directa, przeliczanie modelu fizycznego zostanie zdjęte z procesora i przekazane naszemu Radeonowi czy GeForce’owi (być może wspartemu specjalnym, dodatkowym procesorem). Już teraz liderzy rynkowi (na przykład CryTek) prezentują dema swoich silników, działające pod testowymi wersjami nowego DirectX’a i wypowiadają się pozytywnie – to chyba dobry prognostyk.

No, to niezłą laurkę wystawiłem Microsoftowi, prawda? Trzeba oczywiście pamiętać, że to wszystko tylko zapowiedzi – kiedy Directowa rewolucja sprawdzi się w praniu (najpewniej znowu nazistów), będziemy mogli wpaść w euforię. Póki co, przyglądamy się z zainteresowaniem, licząc na to, że Microsoft nas nie zawiedzie. A nawet jeśli DirectX będzie tylko ewolucją, a nie rewolucją, i tak przyjmiemy go z otwartymi rękami. Tak jak wersję dziewięć, osiem i wszystkie przed nimi.

Wojtek „Malacar” Gatys