Monday, July 26, 2010

Wielki powrót (naprawdę wielki)

Ostatnio trochę zaniedbywałem bloga. Ale postaram się wrzucać od teraz posty w miarę regularnie. Co z tego wyjdzie ? Czas pokaże :] jak zawsze.

No ale przejdźmy do tego czym się ostatnimi czasami zajmowałem a trochę tego było.
Na zajęcia z Realistycznej Grafiki Komputerowej prowadzonych przez dr Andrzeja Łukaszewskiego tworzyłem ray tracing oraz path tracing. Nie obyło się bez problemów ale ogólnie kurs był według mnie prowadzony był świetnie. Nie ograniczał się tylko do jakichś podstaw ale pokazywał dużo technik o których przed kursem nie miałem zielonego pojęcia. Niestety mogłem uczestniczyć najczęściej tylko na jedną część wykładu gdyż kolidował on z zajęciami na mojej uczelni. Ale i tak uważam mimo wszystko, że nauczyłem się na nim naprawdę wiele :] Poniżej zamieszczam parę renderków z mojego programu.





Wprowadziłem też własny format plików dla shaderów:

set path='./data/'

def perPixel : vert ('perPixel.cg','matVP')
{
modelViewProj = MODELVIEWPROJ_MATRIX
}

def perPixel : frag ('perPixel.cg','matFP')
{
lightPos0 = LIGHT0_POSITION
lightPos1 = LIGHT1_POSITION
eyePos = CAMERA_POSITION
}

Oraz dla materiałów:

-- ********************************************************
-- Tank M26 pershing material
-- ********************************************************
def TankM26
{
technique default
{
color = [0.8,0.8,0.8,1.0]
cullface = back
pass
{
texture decalMap = TankM26_D.dds
texture normalMap = TankM26_NH.dds
texture shadowMap = shadow.dyn
shader all = normalMapping_shadow
}
}
}
Przy okazji skleciłem prosty system podświetlania składni dla poszczególnych formatów w moim ulubionym edytorze Vim :] Przerzucenie się na nowe formaty otworzyło przede mną nowe możliwości a całość kody jest dużo bardziej czytelna niż zapis w formacie XML którego wcześniej używałem. W silniku doszło też parę opcji w które w końcu udało mi się w implementować (zebrałem się do nich w końcu). Na koniec czerwca powstała jedna z nich a mianowicie obsługa formatu zip :] sprawuje się całkiem nieźle przy małych plikach z dużymi ma trochę problemów ale też postaram się w końcu przysiąść i to zmienić :] o pozostałych zmianach wspomnę przy innej okazji bo i tak się rozpisałem.

Oddzielny post przeznaczę też na powierzchnie i krzywe o których się uczyłem na zajęciach. Na koniec wspomnę jeszcze, że obecnie poświęcam się głównie tworzeniu gry pod logiem ADW. Ale o niej wspomnę przy innej okazji. Póki co to tajemnica :].