[ Angel_of_Dark @ 30.01.2006. 10:38 ] @
Dosadile su mi Skymape koje je obicno potrebno exportovati iz nekog 3d programa (do sada sam uglavnom koristio Terragen) kao Cube mape. Problem sa njima je sto je prakticno nemoguce napraviti izmene na atmosferi, a pogotovo ne u realnom vremenu. A tu je i problem sto su takve mape obicno lose rezolucije. Odlucio sam da isporbam neki drugaciji nacin, zavukao rukave i uz pomoc Vertex & Pixel shadera krenuo da pisem sistem za generisanje HDRI-like osvetljenja za teren (baziranog na globalnom osvetljenju emitovanom od oblaka), volumetrickih oblaka (kroz koje je moguce proci), sunlight sistema, light scatteringa.
Evo prvog screenshota onoga sto za sada moze da se dobije sa ovim sistemom:

[ bkaradzic @ 30.01.2006. 21:20 ] @
Nebo izgleda odlično! :)
Da li planiraš da napišeš nešto više u vezi tehnika koje koristiš (npr. tehnike za renderovanje oblaka), performansama, itd?
[ rapidlord @ 30.01.2006. 22:04 ] @
Ne razumem se bas u tehnicku prirodu projekta, ali se pridruzujem cestitkama, deluje impresivno , bolje nego u ovim novim 3d hitovima ala` FarCry.
[ Filip Strugar @ 01.02.2006. 09:44 ] @
Izgleda sjajno! Bilo bi super da nam das vise detalja!
[ Nothingman @ 01.02.2006. 11:56 ] @
Evo jedna zanimljiva diskusija na temu oblaka. Stara je 3-4 godine, ali je po meni jos uvek jedna od najboljih na netu. U okviru diskusije Yann je dao par linkova koje takodje vredi pogledati.

http://www.gamedev.net/community/forums/topic.asp?topic_id=86024
[ bkaradzic @ 01.02.2006. 23:14 ] @
@Nothingman
Odličan thread. Nego offtopic, našao sam ovaj link sa svim postovima Yann L-a.
Citat:
Yann L's Greatest Hits

This page is full of links to threads with information provided by GDNet's resident graphics guru Yann Lombard. If you want to make a graphics engine, then these links are ALL for you. I can almost guarantee you that everything is covered. One might as well write a book based on Yann's posts, anyway, enjoy...

http://triplebuffer.devmaster.net/misc/yannl.php
[ Angel_of_Dark @ 02.02.2006. 01:01 ] @
Pa ovako, sistem je naizgled kompleksan, ali je zapravo dosta jednostavan i baziran je na vecini tehnika koje se primenjuju u standardnim shaderima i par 'prljavih' ali efikasnih trikova.
Globalna iluminacija se racuna na per-pixel osnovi hemisphere lightinga (modifikovani Hemisphere Lighting shader koji se moze naci na MSDN sajtu). Ovaj shader sam dosta modifikovao da bih mogao da dobijem neke efekte kontra-svetla i atmosferskih efekata. Zatim sam na scenu postavio jednu sferu sa kamerom u sredini i sve to renderujem sa unutrasnje strane u jedan RT view kao Cube Mapu. Ovakva Cube mapa ima rezoluciju od 64x64 (x6) i ona zapravo sluzi da bi kasnije na sve shadere svih objekata u sceni sfericno 'projektovao' (na per - pixel osnovi) cube mapu umesto da racunam diffuse lighting. Na taj nacin je moguce dobiti jako realisticno difuzno osvetljenje.
Ta ista cube-mapa se projektuje umesto neba (kao sto bi se projektovala bilo koja druga sky cube mapa).
Oblaci su zapravo 3d sprajtovi sa volumetrickom dds mapom, normal+height mapom, alfa kanalom i shaderom koji sve to kombinuje zajedno sa Cube mapom environmenta na per-pixel osnovi. Radi se ustvari o normal map shaderu sa virtual displacementom koji umesto da podatke uzima iz jedne texture, te podatke uzima iz volume mape - na taj nacin je moguce napraviti veliki broj kombinacija razlicitih oblaka. Takodje, ovaj shader je sposoban da menja normale na osnovu zadatih tacaka u prostoru (regiona) tako da je moguce imati oblake koji su tanki i providni - ili oblake koji su zatamljeni, a ove parametre je moguce vezati isto tako za Y osu oblaka. Uz sve to sam ubacio i fading alphe u odnosu na to koliko je blizu kamera - na ovaj nacin je moguce simulirati proletanje kroz oblake. Naravno, ovaj shader je napravljen tako da ako se gleda kroz oblak iza koji stoji sunce- oblak se osvetli.
Nadam se da sam uspeo da ilustrujem koliko-toliko o cemu se zapravo radi.
[ Nothingman @ 02.02.2006. 02:10 ] @
Citat:
bkaradzic:
Nego offtopic, našao sam ovaj link sa svim postovima Yann L-a.

http://triplebuffer.devmaster.net/misc/yannl.php


To mi je jedan od omiljenih linkova na internetu :)
Posebno mi se svidjaju delovi "Sky" i "Water/Reflection".

p.s. zaboravih u proslom postu da kazem da mi se mnogo svidja rezultat koji je dobio Angel_of_Dark. Mozda bi mogao da skripish neki demo? Interesuje me kako sve to izgleda u akciji ;)
[ Filip Strugar @ 02.02.2006. 16:01 ] @
Citat:
Angel_of_Dark:
Nadam se da sam uspeo da ilustrujem koliko-toliko o cemu se zapravo radi.


Yup! Koje rezolucije su volumetric texture za oblake? Izgledaju dosta detaljno!
[ Angel_of_Dark @ 02.02.2006. 18:22 ] @
Volume texture su 128x128x16
[ cubicle @ 03.02.2006. 08:14 ] @
Koliki je frame rate ovakve jedne scene (one sa koje je screenshot) i na kom hradveru?
[ Angel_of_Dark @ 03.02.2006. 12:00 ] @
Framerate je oko 120 fps kada je free (mada ga ja fiksiram sa refreshom) u rezoluciji 1280x800 (sa aktivnim AAx2) na p4 (3.2 ghz) laptopu sa ATI mobility 9700.
[ Angel_of_Dark @ 18.03.2006. 12:15 ] @
Evo malih apdejtova:
Odradio sam shader za vodene predele (delimicno) i poboljsao sistem generisanja svetla.


...generisanje sunca sa lens flare efektima...




Mali film (AVI divx) od 200k gde je moguce videti dinamcke izmene u zavisnosti od polozaja sunca.

[url]http://www.organismedia.com/Oliver/sunset.avi[/url]

I za kraj, na brzinu sklepana scena u kojoj je moguce videti kako osvetljenje neba (GI) utice na osvetljavanje objekata u sceni.

[ Filip Strugar @ 18.03.2006. 13:33 ] @
Niiiiiiice! :)
[ bkaradzic @ 18.03.2006. 23:10 ] @
U poslednjem Game Developer Magazinu ima članak programera Nebula Device 2 o njegovom sistemu (http://www.alienstealth.de/mig/skysystem/). Ovi tvoji screen shotovi izgledaju mnogo bolje od njegovih... ;)
[ Angel_of_Dark @ 29.03.2006. 16:27 ] @
Evo, zavukao sam rukave i odradio shader za Subsurface Scattering efekat. Ovde je prikaz efekta na obicnom objektu:


Ovde je mali video prikaza efekta:
[url]http://www.organismedia.com/oliver/ssscattering.avi[/url]

Ako nekoga zanima kod ovog shadera, njega je moguce pogledati na mom blogu.

A ovde je SSS efekat apliciran u kod shadera oblaka - uz njegovu pomoc je moguce volumetricki osvetliti oblake (od pozadi, iz unutrasnjosti). Ovaj efekat ce mi biti od velike koristi pri simulaciji munja, ekplozija, letecih tanjira koji prolaze kroz nebo (ahahha) i naravno,sunca koje se probija kroz oblake.
[ Angel_of_Dark @ 12.10.2006. 13:46 ] @
Evo, napokon sam usao u finalnu fazu razvoja... ovde je moguce videti jako jednostavni demo (teaser demo).
http://lnx.organismedia.com/oliver/demo/organisky.html



[Ovu poruku je menjao Angel_of_Dark dana 12.10.2006. u 15:43 GMT+1]
[ bkaradzic @ 13.10.2006. 00:37 ] @
Izgleda lepo...

Možda bi mogao da napišeš nešto na temu oblaka za GPG3?
http://developer.nvidia.com/ob...-3-call-for-participation.html
[ Angel_of_Dark @ 13.10.2006. 01:59 ] @
Citat:
bkaradzic: Izgleda lepo...

Možda bi mogao da napišeš nešto na temu oblaka za GPG3?
http://developer.nvidia.com/ob...-3-call-for-participation.html


Da znas, nije ti losa ideja. Hvala! Mislim da ima ovde nekoliko stvari koje bi mogle da budu interesantne (kao recimo kompresija-kodiranje Volumetrickih normal mapa, alpha kanala i diffuse mape u jednu jedinu jedinu volume ARGB mapu koja se koristi za oblake - so sada nisam video da je neko koristio slicnu tehniku). Image based lighting je vec vise manje normalna pojava, rako da tu ne znam sta moze da se doda.
BTW, radeci na ovom demo-u uleteo sam malo u deffered lighting vode, jos uvek ne znam dali da potpuno odradim sve na taj nacin ili da razradim neki mixed nacin renderinga.

p. s.uskoro cu postaviti verziju sa simulacijom vremenskih uslova, kise, grmljavine, duga... odradio sam testove, ali ih nisam jos ukljucio u demo jer mi malo predstavlja problem kako da odradim interfejs.---
[ Angel_of_Dark @ 15.05.2007. 22:58 ] @
Evo, posle nekog vremena (silom prilika) vratio sam se na razradu svog sistema.
Ovde mozete pogledati video demo levela:

http://www.youtube.com/watch?v=CYM112NZBHE
[ Danijel Bulic @ 25.05.2007. 17:27 ] @
pa ovo je odlicno...bolje nego kod nvoih igrica :S