2010-03-15

DX10: I made this box myself

Ostatnimi czasy trafiła mnie zachcianka zabawy w Gamedev. Jak niektórzy wiedzą, całkowicie wyłącza mi to logikę i zmusza do pisania absurdalnych, bezsensownych projektów, których i tak nie skończę ;-) Tym razem cel przerósł nawet moje "standardy" - samodzielna gra oparty o napisany do niej silnik. Czyli: nie dość, że mechanikuję, to jeszcze na tej mechanice chcę stworzyć grę.
Jak na razie efekty są całkiem zadowalające. Mam sprawny framework z obsługą wielomonitorowości (testowo na układzie SLI obsłużył bez problemu 4 monitory!), szkielet renderera z obsługą deferred shading/lighting (na razie kuleje, ale działa), kilka pomocniczych elementów (logowanie, zegar, obsługa kamery) i dość dokładny projekt. Żeby nie było, że to tylko czcze przechwałki, zamieszczam screena:
ScreenUp miniaturka
Całość oświetlana jest dynamicznie 5 światłami, każdy quad rysowany osobnym DIP. FPS mierzony średni dla poprzedniej sekundy. Patrząc na marną optymalizację mojego kodu i kiepską kartę grafiki, efekt właściwie ujdzie.

Co w moim przypadku oczywiste - całość oparta o pakiet DirectX. DX10 do grafiki, XAudio do dźwięku, XInput do wejścia. Pozostaje tylko napisać obsługę wyświetlania czegoś innego niż fonty bitmapowe i quady, a potem samą grę :)

Przy okazji: miałem okazję namęczyć się dość solidnie z constant bufferami. Stworzenie takiego wymaga wyrównania do float4 (16 bajtów), zapis poszczególnych wartości zapewne też tak samo działa. Jako, że nie chciało mi się z tym (bardzo) męczyć, ustawianie parametrów światła opiera się na zmiennych DX Effect. Też działa ;-)

O postępach będę informował na bieżąco.

Brak komentarzy:

Prześlij komentarz