Oprogramowanie

DirectX 10 znosi ograniczenia. Nowy Geometry Shader

przeczytasz w 2 min.

Ponieważ DirectX 10 jest nowym API, napisanym całkowicie od podstaw, spora część poprzedniego narzutu może być zredukowana. Narzut obiektów jest znacząco obniżony, dzięki czemu więcej obiektów może zostać równocześnie wyświetlonych na ekranie.

W świecie rzeczywistym nie istnieją dwa identyczne obiekty, nawet jeśli wyglądają tak samo. W chwili obecnej w grach spotyka się przedmioty, które wyglądają identycznie. To samo tyczy się trawy, drzew i każdego innego obiektu. Patrzenie na wierne kopie odbiera twórcom gier poczucie realizmu, do którego tak usilnie dążą.

'Matrixowy' las w grze Oblivion

W tej chwili większość trawy widocznej na przykład na polu bitwy to po prostu kopie jednego źdźbła. Podobnie ma się rzecz z inną roślinnością, która również jest tylko kopią jakiegoś wzoru. Jedynie proste zmiany w nasyceniu i kolorze służą do różnicowania obiektów.

... i las w nadchodzącej grze Crysis - DX10

W grach przyszłości możliwe będzie wykorzystanie setek, jeśli nie tysięcy odrębnych obiektów. Dzięki możliwościom DirectX 10 uda się pokazać więcej unikalnych obiektów, które stworzą bardziej złożone i realistyczne środowiska. Oczywiście sprzęt będzie nadal stanowił barierę w obliczeniach i renderingu, ale przynajmniej producenci gier nie będą ograniczani przez API. Wydajność graficznych procesorów stanie się decydującym czynnikiem, przynajmniej w przewidywalnej przyszłości.

Przy mniejszym narzucie, czas wykonywania jest znacznie redukowany. W chwili obecnej w większej części DirectX 9, API i sterownik pożerają do 40% czasu wykonywania. W przypadku DirectX 10 wartość ta obniżona jest o połowę, dając tym samym więcej czasu dla gier lub aplikacji. W praktyce oznacza to, że twórcy gier mogą je naszpikować większą liczbą unikatowych obiektów i poprawić wrażenia wizualne.

Nowy Geometry Shader

Jedną z nowych cech dodanych do DirectX 10 jest nowa faza w przetwarzaniu potokowym nazywana Geometry Shader. Na poniższej ilustracji można zobaczyć jak została ona wpasowana w schemat architektury ustalonego przetwarzania potokowego.

Została ona umieszczona pomiędzy jednostkami Vertex i Pixel. Nowy shader może 'brać' trójkąty i traktować je jak obiekty, kontrolując ich wierzchołki. Podstawowe dane przesyłane są następnie do Pixel Shadera. Umożliwia to niektóre efekty takie jak 'Displacement Mapping' w czasie rzeczywistym, 'Stencil Shadow Extrusion', generownie 'Point-Sprite' z punktów, 'Motion Blur' i wiele innych, które możliwe są teraz dzięki sprzętowi DirectX 10.

Geometry Shader to nowa, bardzo, jeśli nie najbardziej interesująca funkcja wchodząca w skład DirectX 10, którą zainteresowani będą przede wszystkim twórcy gier.