Nowy model oświetlenia

Wreszcie nowy pomysł i bliskie oczekiwaniom efekty.

Dla przypomnienia – stary engine Pyłu (“chlast” się nazywał), wykorzystuje prerenderowane trójkolorowe animowane mapy światła. Na każdy kawałek ściany przypadała jedna mapa (lub więcej – jeśli światło animowane). Dla współczesnych akceleratorów wydajnie jest resować całe zbiory trójkątów dla danego materiału i nie jest optymalne by te materiały często zmieniać. Próba wykorzystania map światła dla geometrii Pyłu w Ogre – przeniesiona wprost ze starego silnika dała efekt w postaci mizernych 35 FPS z racji około 8tyś. materiałów wykorzystywanych w każdej klatce (przy założeniu iż cała geometria poziomu wchodzi w potok renderingu). To raczej marny efekt.

Spróbowałem więc użyć oświetlenia dynamicznego Ogre. Jednakże ograniczenie 8 świateł na powierzchnie powodowało wyraźnie usterki – a do tego nie ma zasłaniania. Są co prawda możliwe zasłaniania w Ogre lecz są to ostre a nie miękkie cienie. Alternatywą było pisanie całego potoku renderowania w Cg by zrobić nowoczesny model oświetlenia… jednakże nie chciałem w to aż tak w chodzić, z oczywistego braku czasu.

Zdecydowałem się więc wykorzystać mapy światła ze starego Pyłu jako źródło parametrów dla poziomu oświetlenia wierzchołków a następnie na standardową interpolację tych parametrów po teksturze i jej modulowanie. Efekt poniżej – na lewo widok sceny z edytora Pyłu a po prawej z konwersji. Są jeszcze różnice w poziomie jasności i intensywności barw ale to jest do dogrania. Widać też w innych scenach wady interpolacji liniowej. Spróbuję z nieliniową lecz to wymaga napisania shadera fragmentów. Nigdy tego nie robiłem więc chwilę muszę w to wniknąć. Rozważam jeszcze podział powierzchni na mniejsze trójkąty – rozmiar geometrii poziomów z Pyłu nie robi wrażenia na współczesnych kartach więc spokojnie można to zrobić. To – razem z nieliniową interpolacją, powinno dać ładny efekt – dobre miękkie cienie oraz dobrą interpolację oświetlenia. No i sporo FPS w zapasie 🙂

A dynamiczne światła Ogre zostawimy dla rakiet, min itp.

Stary i nowy model oświetlenia

 

Advertisements

3 thoughts on “Nowy model oświetlenia

  1. Naprawdę dobrze. Mam wielką nadzieję, że będzie w stanie ożywić tą grę, a następnie sprzedać na stronach takich jak Steam i GOG.com

  2. Brr, ta kładka przywraca mi złe wspomnienia. Dopóki nie zleciałem z niej to nie wiedziałem, że postać chodzi dziwnie (nierówno?). I to wszystko w 15 FPSach.

    @up
    wydostać się z otchłani praw autorskich i mezaliansu powstałego po upadkach i sprzedażach do różnych podmiotów będzie naprawdę ciężko.

  3. Teraz ponad 300FPS więc nieco lepiej 🙂 Co do właściciela praw – wszystko jest na dobrej drodze do współpracy. W styczniu spotykamy się z firmą.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s