You are on page 1of 2

INSIDER MICROSOFTOV DirectX

DirectX

Particles (2)
Partikli mogu biti izuzetno dobar argument vizualnog dojma. Bitno je samo znati to s njima...
pie: Ivica Hoko

akle, spomenuvi partikl, spomenuli smo i da se dosta filozofira o njima. Naime, tanka je linija izmeu partikala i normalnih objekata. Ono to partikle ini takvima, nain je obrade i iscrtavanje. Spomenuli smo da su partikli u pravilu automatizirani sustav koji zahtijeva minimalne dodatne korekcije, a jednako tako i da su u interakciji s okolinom. Prema fizikalnoj definiciji, prvenstveno bi se manifestirali kroz interakciju sa svjetlom. Kod spomena partikla, najprije nam svima na pamet padnu vatra i dim. To su ujedno i najee koriteni efekti koji se izrauju uglavnom pomou partikala. Najjednostavnije, jednostavni su, a i s malim brojem modela (poligona) i tekstura mogu se dobiti odlini vizualni efekti. Jedini je izazov kako pogoditi toan omjer poligona koji su vam potrebni i kako te poligone raspodijeliti tako da, kada se meusobno preklope, budu raspodijeljeni od najudaljenijega prema najbliem, to je bitno kod iscrtavanja poluprozirnih objekata. Dim se sastoji od jako sitnih estica neistoe, presitnih da bi se vidjele golim okom, i iscrtavanje dima je zapravo samo gruba aproksimacija. Te estice se pak podvrgavaju i odreenim pravilima fizike to nam se naravno kod rada u realnim uvjetima nikako ne isplati simulirati brojem samih partikala.

Hram: Hrpetina partikla, malo dima, malo vatre, malo malih zelenih... Serious Sam style :) zahvale Deanu Sekuliu i Croteamu. line i koji bi vjerno reagirao na zapreke, vjetar, promjene u tlaku i sline stvari. Dakle, kako za sada stvari stoje, radi se o istoj utopiji. No, nee jo dugo ostati tako. Ve su napravljene aproksimacije fizikalnoga modela fluida koje se relativno brzo vrte u realnome vremenu, mada e to priekati barem jo neko vrijeme. Na kraju krajeva, ne smijemo zaboraviti da su partikli, samo dio koji ima smisla ukoliko ga se gleda u kontekstu cjeline. Dakle, ako vam cijela scena, ili dojam scene, nije na razini dima (ili bilo koje druge komponente), nije potrebno troiti vrijeme na samostalne elemente. Bitno je da je cjelina usklaena. Isto tako, valja procijeniti i isplati li vam se potroiti snagu grafikoga procesora na jedan obian dim ili e vam ipak vie odgovarati nacrtati jo desetak komada vegetacije u neposrednoj okolini? Uvijek postoji paragraf pisan sitnim slovima... Partikli se, dodue, ne moraju nuno sastojati od pravokutnih poligona. Oni se mogu napraviti i pomou modela. U pravilu, partikli dolaze u velikim koliinama (kao i nevolje), tako da, ukoliko se odluite za opciju s modelima, morate opravdati njihovo koritenje i funkcionalnost. Prednosti koritenja modela su te da ih moete koristiti jed-

Partikli i poligoni
Jedno od rjeenja jest uzeti nekoliko razliitih slika pravoga dima, dobro ih ugoditi zamjenjivanjem sliica i na taj nain dobiti dojam realnoga ponaanja dima. Razmotrimo situaciju. Dakle, radi konanoga broja razliitih tekstura, nije teko uoiti ponavljanje. Jednako tako, fizikalni model koji nam pomie estice dima, radi s poligonima daleko veim i robusnijim od samih finih estica. Nadalje, gotovo da i nema interakcije s okolinom. Nadalje, svi partikli su lokalizirani, odnosno nalaze se u konanom, omeenom prostoru oko izvora dima, najee vatre ili suionice unki. Svaka ploa s partiklima ima svoj poetak i kraj, svoju poetnu veliinu i prozirnost, svoju krajnju veliinu i prozirnost.... No, ipak je ovaj trivijalni model pun oitih ogranienja, ali zadovoljavajuih za veinu dananjih igara. Khm?! Kreiranje kvalitetnoga i realnoga prikaza dima zahtijevalo bi mnogo sloeniji fizikalni model, nego to dananji hardver moe 'savakati' u nekom realnom vremenu. Najblia aproksimacija bio bi fizikalni model fluida koji bi bio svjestan svoje oko-

156

VIDI br. 129 / 2006

WWW.VIDI.HR

MICROSOFTOV DirectX INSIDER


I naravno, bilo bi glupo kad bi bilo tako jednostavno. Naravno da je problem to z-buffer nije linearan pa e vam se vrijednosti gubiti i modeli e postajati neoekivano prozirniji ovisno o udaljenosti. W-buffer (jednako kao i zbuffer, samo to je linearan) isto ne odgovara; no, ovo u vam ostaviti za razmiljanje. Uglavnom, ovakav pristup ima potencijala, samo treba poraditi na finim detaljima i procijeniti moete li zamiriti na nedostatke koje svaki od pristupa donosi, u veoj ili manjoj mjeri. Naprimjer, uzmimo jo jednu prirodnu pojavu; lens flare, odnosno pojavu koja se dogaa kada svjetlo udara u leu objektiva. Klasian primjer partikla koji ostavlja jako dobar opi dojam (ukoliko se radi o eksterijerima), a jednako tako je i jednostavan za izradu. Samo uzmete nekoliko Serious Sam 2: Deki iz CroTeama su zorno prikazali usijane glave. razliitih tekstura karakteristinih za ovu pojavu i nalijepite ih na apsolutno proziran, dakle, on ostavlja ispod sebe imaginarni pravac po odree- sjenu, zar ne?! Ok, kako napraviti sjenu od pranim, eljenim parametrima. vokutnih oblika koji su orijentirani prema vama? Ukoliko je svjetlo kojim sluajem pod pravim kutem prema kutu kojega ini va poloaj oka i poloaj dima, imate situaciju da svjetlo gleda bono na plohe dima, odnosno da ih ne vidi uope. Ukoliko se pak svjetlo nalazi pod bilo kojim kutem, vidjet e se. Isplati li se okretati sve plohe koje se nalaze u partiklima kako bi bile vidljive svjetlu te onda od njih napraviti sjenu? Hoe li taj model sjene odgovarati realnome stanju stvari? elite li si komplicirati ivot?! Ukoliko se bavite raunalnom grafikom, znai da elite... Ali, ako samo uivate u blagodatima grafike, brzo upalite svoju omiljenu igru i provjerite Space...: Gore lijevo partikli simuliraju maglu, a samo gore je lens flare u ivo :). bacaju li partikli u dotinoj igri sjene ili Znai, uzeli smo dim kao reprezentativan primjer ne... Jeste li uope primijetili taj detalj? ar dobroga partikla te smo spomenuli da je za partikle karak- dojma koji ostavlja pojedina igra u dobro je pogoteristina interakcija sa svjetlom. Dim koji vidimo enim detaljima, njihovoj ravnomjernoj raspodjeli i rezultat je sudara malenih estica neistoa sa svjet- balansu detalja... Kako bilo, sjene su jedna od drevlom. To je prva interakcija. Druga je to dim nije nih boljki raunalne grafike, ponekad ak i smrtni neprijatelj grafikim karticama...

areno: Odlian primjer dobro napravljenog partikl sistema. nostavnije (na jednoj razini), nego ravne poligone. Ne morate se brinuti oko orijentacije, poloaja kamere, rasporeivanja (ukoliko ba ne elite) i slinih stvari. Jednako tako, ukoliko imate ve sreen sistem za fiziku, puno ete jednostavnije i lake ukomponirati fiziku na malene modele, nego na obine pravokutnike koji moraju biti okrenuti prema vama. Ako nita drugo, izgledat e prirodnije. Recimo, to bi bilo odlino rjeenje ak i za simuliranje krupne same... S druge strane, daleko je praktinije napraviti, primjerice, pahuljaste oblake koristei nekoliko poligona koji se meusobno preklapaju i pridonose raznim koliinama sivkaste boje. Tako se u pravilu rade i oblaci i druge sline pojave. No, nije dobro ako im se pribliavate pod razliitim kutevima, ako se kreete oko njih, a cijelo vrijeme gledate u njihovo sredite ili ako prolazite kroz oblake u svom handy-dandy privatnom avionu. Nije li zanimljivo uvidjeti kako svako rjeenje sa sobom nosi barem duplo vie problema?! (Problem je taj to su sva rjeenja samo aproksimacije u nedostatku hardverskih mogunosti.)

Volumetrijski efekti

Naravno, postoji i opcija volumetrijskih efekata. Dakle, recimo da ste napravili veliki krumpir koji e vam predstavljati oblak. Najprije iscrtate udaljene poligone krumpira u z-buffer, a zatim i vama blie poligone. Sada, na osnovi vrijednosti razlike izmeu dubina na pojedinomu pikselu, moete procijeniti, primjerice, koliinu sivkaste boje koju ete ubaciti. Simpatino. Odjednom ste rijeili sve gore navedene probleme, jednostavno i lako; ukoliko jo ubacite i opciju za zamuivanje rubova (primjerice nekakvu derivaciju Fresnelovog algoritma), imate sasvim pristojan efekt za oblake, dimove, magle, duhove i sve sline stvari. Ok, ovaj princip rjeava isti problem koji rjeava i gore navedeni princip (ali na bitno drukiji nain!), moda ak u odreenim uvjetima i ispadne isti rezultat... Ali, radi li se jo uvijek o partiklima?! O, filoZvjezdano nebo: Ovako to izgleda izbliza u Provoxovom SpaceForce 2 svijetu. zofi svijeta, ujedinite se!!
WWW.VIDILAB.COM

DirectX serijal
Grafika za sve - Vidi 117

Direct X files - Vidi 118


Materijali i teksture - Vidi 119 Povratak tekstura... - Vidi 120

Textures strike back! - Vidi 121 Shaderi - Vidi 122


Elementi igara 1 - Vidi 123 U poetku Bog stvori zemlju i... - Vidi 124 Satavilo se nebo sa zemljom - Vidi 125/126 O nebu, horizontu, magli i svemiru - Vidi 127 Particles (partikli) - Vidi 128

VIDI br. 129 / 2006

157

You might also like