Teoretyczne zmiany jakich dokonano w Company of Heroes dają nadzieję, że DirectX 10 to coś więcej niż tylko puste słowa kolejnych specyfikacji, większe wymagania i konieczność wymiany sprzętu dosyć często ze względu na widzimisie speców od marketingu. Czy okaże się to prawdą zobaczymy po testach, które znajdziecie już na następnych stronach.
A więc co wprowadzono do gry, wraz z hucznie opiewanym DX10? Oto nowe funkcje związane z implementacją tego API w Company of Heroes:
Złagodzone krawędzie cząsteczek przechodzących przez obiekty 3D
W poprzednich generacjach gier programiści wykorzystywali do celu ukazania np. eksplozji dwuwymiarowych "sprajtów", nie były to jednak obiekty stricte 3D. W tej grze wykorzystano tzw. Soft Blending, używając do tego celu "multiple render targets". Zachowuje się tu informacje o głębi dla drugiej tekstury jeszcze przed końcowym nałożeniem tego efektu. Wynikiem są łagodniejsze przejścia tonalne dla FX-a typu eksplozji, czy złagodzenie cieni przechodzących przez różne obiekty w grze w konsekwencji padania na nie światła.
Poprawiona jakość oświetlenia poprzez przeniesienie wszystkich obliczeń na każdy piksel - użycie bardziej dokładnego, precyzyjnego obliczania punktów światła, oraz zaimplementowanie możliwości rzucania cieni przez te punkty.
Światło pochodzące od latarni w DX10 tworzy również własne cienie.
DX9 używa tylko światła globalnego tworząc cienie o tym samym kierunku i podobnej długości.
Te nowe funkcje związane są bezpośrednio z możliwościami przetwarzania niemal 5-krotnie dłuższych instrukcji przez PS niż miało to miejsce w DX9. W DX10 wszystkie źródła światła, również te bardziej złożone w postaci "cube map"; niezależnie od tego, czy jest to światło pochodzące od wirtualnego Słońca, Księżyca, latarni, zapałki, czy wybuchów będzie mieć potencjał do tego, aby rzucać swój własny cień! Intensywnie wykorzystywany jest tu także Geometry Shader.
Opcja rzucania cieni od każdego źródła światła w tej grze jest domyślnie włączona, jeśli tylko wybierzemy rendering zgodny z DX10, oraz jeśli cienie te będą włączone.
Mnóstwo dodatkowych, drobnych obiektów (litter objects) w świecie gry.
Obiekty te widoczne są np. na drodze. Na zrzucie ekranu z DX10 widzimy w tamtym miejscu drobne bryłki kamyków.
Często w DX9 mieliśmy do czynienia z terenem, który nie zawierał wielu detali. Ot tekstury pokryte trawą, kilka drzew, gdzie niegdzie jakiś kamyk, dom i to mniej więcej było na tyle. W W celu urozmaicenia wprowadzono tu proceduralnie generowane drobne obiekty, które mają charakter brył 3D, a nie jak to było do tej pory płaskich bitmap narysowanych na podłożu, które tak naprawdę tylko imitowały dany obiekt. Czasem efekt ten poprawiano dokładając bump mapping, ale to działało wyłącznie na zasadzie złudzenia optycznego.
Ilością tych obiektów możemy regulować suwakiem 'jakość modeli' w zakładce ustawień grafiki.
Trójwymiarowa, "krótka" trawa na terenie (short grass).
Trawa również będzie mieć charakter obiektu 3D, a nie jak do tej pory płaskiej "narysowanej" bitmapy. Różnica polega ma tym, że np. żołnierz idący po trawie, naprawdę ją depcze - ergo znajduje się na trawie, a nie na terenie pod nią.
Regulacja nową opcją Ultra 'szczegółowość terenu'.
Po za tym dodano m.in. sprzętowe PCF dla poprawienia jakości cieni, czy przykrycie antyaliasingu dodatkowym kanałem alfa, poprawiając dzięki temu wygląd obiektów z testowym kanałem tego typu np. krzaki czy zarośla.
Trzeba dodać także, że w nowym DirectX10 całe światło będzie zawierać więcej detali (kalkulacja do piksela), a same cienie będą bardziej łagodne, przejścia tonalne mniej zauważalne tak jak to miało to miejsce do tej pory. W starszym DX9 jedynie światło padające z góry/boku (główne oświetlenie sceny) było poprawnie mapowane. Pozostałe źródła, jeśli były, były już tylko kalkulowane do vertexów, a więc zdecydowanie mniej dokładnie niż ma to miejsce w DX10.
Łagodniejsze cienie to kolejna "łatka" rodem z DX10.
Na pierwszym obrazku widać, że antyaliasing działa tylko na krawędzie obiektów, a nie na efekty typu cienia.
W DX10 cienie są bardziej łagodne, co możemy zaobserwować również na pozostałych zrzutach ekranu - nie rzuca się tak w oczy efekt poszarpania ich krawędzi.