14.7 Level of Detail Osnovna ideja nivoa detalja (LOD) je korištenje jednostavnijih verzija objekta jer daje sve manji doprinos prikazanoj slici. Na primjer, razmislite o detaljnom automobilu koji se može sastojati od milion trouglova. Ova reprezentacija se može koristiti kada je gledalac blizu automobila. Kad je objekt udaljeniji, recimo pokrivajući samo 200 piksela, ne treba nam svih milion trouglova. Umjesto toga, možemo koristiti pojednostavljeni model koji ima samo, recimo, 1000 trouglova. Zbog udaljenosti, pojednostavljena verzija izgleda otprilike isto kao i detaljnija verzija. Na ovaj način se može očekivati značajno povećanje performansi. Magla(Fog), opisana u odjeljku 10.15, često se koristi zajedno s LODs. To nam omogućuje da potpuno preskočimo iscrtavanje objekta prilikom ulaska u neprozirnu maglu. Također, mehanizam zamagljivanja može se koristiti za implementaciju vremenski kritičnih iscrtavanja (vidi odjeljak 14.7.3). Pomicanjem udaljene ravni bliže gledaocu, objekti se mogu ranije odbaciti, a može se postići i brže iscrtavanje(renderovanje) kako bi se učitao kadar (da bi se zadrzala brzina kadrova). Neki objekti, poput sfera, Bezijeovih površina i površina podjele, imaju nivo detalja (LOD) kao dio svog geometrijskog opisa. Osnovna geometrija je zakrivljena, a zasebna LOD kontrola određuje kako se teselira(kao mozaik) u poligone koji se mogu prikazati. U ovom odjeljku opisujemo neke uobičajene metode za korištenje takvih LOD -ova. Za algoritme pogledajte odjeljak 13.6.4 koji prilagodjavaju kvalitet teselacija za parametarske površine i površine podjele. Uopsteno, LOD algoritmi se sastoje od tri glavna dijela, naime, generisanja (generation), odabira (selection) i prebacivanja (switching).LOD generisanje je dio gdje razlicite reprezentacije modela se generisu sa razlicitim detaljima. Metode pojednostavljenja opisane u odjeljku 12.5 mogu se koristiti za generisanje željenog broja LOD -ova.Drugi pristup je pravljenje modela sa razlicitim brojem trouglova rucno. Mehanizam odabira bira nivo detalja na osnovu nekih kriterija, poput procijenjene površine na ekranu.Konacno, moramo da predjemo sa jednog nivoa detalja na drugi, i ovaj proces e naziva LOD switching (LOD prebacivanje).U ovom odeljku su predstavljeni razliciti mehanizmi prebacivanja i odabira. Iako je fokus u ovom odjeljku na izboru između različitih geometrijskih prikaza, ideje iza LOD -ova mogu se primijeniti i na druge aspekte modela, pa čak i na korištenu metodu iscrtavanja.Modeli nizeg nivoa detalja takodje mogu da koriste teksture i senke nizeg kvaliteta, cime se dodatno stedi memorija i vreme racunanja [164]. Same senke se mogu pojednostaviti u zavisnosti od udaljenosti, važnosti ili drugih faktora [959, 996].Kajiya (Kadzija) predstavlja hijerarhiju razmera pokazujuci kako se modeli povrsinskog osvetljenja preklapaju sa metodama preslikavanja teksture, koje se zauzvrat preklapaju sa geometrijskim detaljima.Druga tehnika je ta da se manje kosti mogu koristiti za operacije skidanja koze sa objekata na daljinu. Kada su statički objekti relativno udaljeni, varalice (odjeljak 10.7.1) su prirodan način da ih predstavite po maloj cijeni [806]. Druge metode iscrtavanja površine, poput mapiranja izbočina ili reljefa, mogu se koristiti za pojednostavljivanje prikaza modela. Slika 14.21 daje primjer.Teixeira (Tejšera) [1257] raspravlja o tome kako peći normalne karte na površine pomoću GPU -a. Najuočljiviji nedostatak ove tehnike pojednostavljenja je to što siluete gube zakrivljenost.Loviscach (Loviskah) predstavlja metodu ekstrudiranja (istiskivanja) peraja duz ivica siluete za stvaranje zakrivljenih silueta. Primjer raspona tehnika koje se mogu koristiti za predstavljanje objekta je iz Lengyel(Lenjiel-selo u Madjarskoj) et al[764, 765]. U ovom istrazivanju, krzno je predstavljeno geometrijom kada je vrlo blizu, alfa pomijesanim linijama kada je udaljenije, zatim mjesavinom sa „ljuskama“ volumetrijske teksture, koja konacno postaje mapa teksture kada je daleko. Figure 14.21. Sa leve strane, originalan model se sastoji od 1.5 miliona trouglova.Na desno, model ima 1100 trouglova, sa povrsinskim detaljima sacuvanim kao teksture polja visine i iscrtanim pomocu preslikavanja reljefa. (Image courtesy of Natalya Tatarchuk, ATI Research, Inc.) Figure 14.22. Iz daljine, zecje krzno je iscrtano volumetrijskim teksturama.Kada se zeka priblizi, kosa se iscrta alfa-pomijesanim polilinijama.Kad se priblizi, krzno duz siluete je iscrtano graftalnim perajama. (Image courtesy of Jed Lengyel and Michael Cohen, Microsoft Research.) Pogledajte sliku 14.22.Znati kada i kako je najbolje preci sa jednog seta tehnika modeliranja i iscrtavanja na drugi kako se povecala brzina i kvalitet kadrova je jos uvijek umetnost i otvoreno podrucje za istrazivanje. 14.7.1 LOD Switching Prilikom prelaska sa jednog LOD-a na drugi, nagla zamjena modela cesto je primjetna i ometa.Ova razlika se naziva iskakanje (popping).Ovde ce biti opisano nekoliko razlicitih nacina izvodjenja ove promene (prebacivanja, switching), a svi oni imaju razlicite osobine iskakanja. Discrete Geometry LODs- LOD -s za diskretnu geometriju U najjednostavnijem tipu LOD algoritma, različite reprezentacije su modeli istog objekta koji sadrže različit broj primitiva.Ovaj algoritam je veoma pogodan za savremeni graficki hardver [801], jer se te zasebne staticke mreze mogu skladistiti u memoriji GPU-a i ponovo koristiti (videti Odeljak 18.3.4 i Odeljak 12.4.5).Detaljniji LOD ima veci broj primitiva.Primer 3 LOD-a nekog objekta je prikazan na slici 14.23.Ova slika takodje prikazuje razlicite LOD-ove na razlicitim udaljenostima od posmatraca. Figure 14.23. Ovde, prikazujemo 3 razlicita nivoa detalja za modele eksploziva C4 i lovca.Elementi su pojednostavljeni ili po tpuno uklonjeni na nizim nivoima detalja.Slike sa malim umetcima prikazuju pojednostavljene modele u relativnim velicinama koje bi mogle da se koriste. (Upper row of images courtesy of Crytek; lower row courtesy of Valve Corp.) Prebacivanje (switching) sa jednog LOD-a na drugi se desava , tj. na trenutnom okviru se koristi odredjeni LOD.Zatim, na sledecem okviru mehanizam odabira (selection) bira drugi LOD i odmah ga koristi za iscrtavanje.Popping (iskakanje) je tipicno najgori za ovu vrstu LOD metoda.Bolje alternative su opisane u nastavku. Blend LODs Konceptualno, ocigledan nacin prelaska (switch) je lineralna mesavina izmedju 2 LOD-a u kratkom vremenskom periodu.To ce svakako omoguciti glatkije prebacivanje.Renderovanje 2 LOD-a za jedan objekat je prirodno skuplje od samog renderovanja jednog LOD-a, tako da ovo donekle ponistava svrhu LOD-ova.Medjutim, LOD switching (prebacivanje) obicno se odvija samo u kratkom vremenskom periodu, a cesto ne i za sve objekte u sceni istovremeno pa poboljsanje kvaliteta moze itekako da vredi troskova. Pretpostavimo da je prelaz izmedju 2 LOD-a- recimo LOD1 i LOD2- pozeljan i da je LOD1 trenutni LOD koji se prikazuje.Problem je u tome kako prikazati i spojiti oba LOD-a na razuman nacin.Postavljanje poluprozirna oba LOD-a rezultirace poluprozirnim (mada nesto neprozirnijim) objektom koji se prikazuje na ekranu.Pisanje zasebnih ciljeva van ekrana i njihovo mesanje je skupo i ima svojih problema. Gigl i Vimer [394] predlazu metodu mijesanja koja dobro funkcionise u praksi i jednostavno se implementira.Prvo povucite LOD1 neprozirno u bafer okvira (frame buffer) (both color and Z).Zatim izbledite u LOD2 povecavajuci njegovu alfa vrednost sa 0 na 1 i koristeci „over“ mod mijesanja, opisan u Odeljku 5.7.Kada je LOD2 izbledeo tako da je potpuno neproziran, pretvara se u trenutni LOD, a zatim se LOD1 izbledi (postepeno se gubi).LOD koji se bledi (ulaz ili izlaz) treba da se prikaze sa omogucenim z-testom i onemogucenim z-pisanjem.Da biste izbegli udaljene objekte koji se kasnije iscrtavaju povlacenjem rezultata rederovanja izbledelog LOD-a, jednostavno nacrtajte sve izbledele LOD-ove sortiranim redosledom posle svih neprozirnih sadrzaja, kao sto se to obicno radi za prozirne objekte.Imajte na umu da se usred tranzicije iscrtavaju oba LOD-a neprozirno, jedan preko drugog.Ova tehnika najbolje funkcionise ako su prelazni intervali kratki, sto takodje pomaze u smanjenju troskova renderovanja.Mittring [887] raspravlja o slicnoj metodi, s tim sto se prozirnost ekrana (potencijalno na nivou podpiksela) koristi za rastvaranje izmedju verzija. Alpha LODs Jednostavan metod koji potpuno izbegava iskakanje (popping) je koriscenje onoga sto nazivamo alpha LODs.Ova tehnika se moze koristiti sama ili se moze kombinovati sa drugim LOD switching tehnikama.Koristi se na originalnom modelu ili najjednostavnije uocljivom LOD-u.Kako se metrika koja se koristi za odabir LOD-a (LOD selection) (npr. Udaljenost do ovog objekta) povecava, ukupna transparentnost objekta se povecava (alfa se smanjuje), a objekt konacno nestaje kada dostigne potpunu transparentnost (alfa = 0.0). Figure 14.24. Konus u sredini se iscrtava pomocu alpha LOD-a.Transparentnost konusa se povecava kada se rastojanje do njega povecava i konacno nestaje.Slike sa leve strane prikazuju se sa iste udaljenosti radi pregleda, dok su slike desno od linije prikazane u razlicitim velicinama. To se desava kada je metricka vrednost veca od korisnicki definisanog praga nevidljivosti.Postoji i drugi prag koji odredjuje kada ce objekat poceti da postaje transparentan.Postoji i drugi prag koji odredjuje kada ce objekat poceti da postaje transparentan.Kada se dostigne prag nevidljivosti, objekat uopste ne mora da se salje kroz pajplajn za prikazivanje sve dok vrednost metrike ostaje iznad praga.Kada je objekat nevidljiv i njegova metrika pada ispod praga nevidljivosti, to smanjuje njegovu transparentnost i ponovo pocinje da bude vidljiv. Prednost koriscenja ove tehnike kao samostalne je u tome sto se dozivljava kao mnogo kontinuiranija od LOD metode diskretne geometrije, pa se tako izbegava iskakanje (popping).Takodje, buduci da objekat konacno potpuno nestaje i ne treba ga iscrtavati (rederovati), moze se ocekivati znacajno ubrzanje.Nedostatak je sto objekat potpuno nestaje i tek tada se postize povecanje performansi.Slika 14.24 prikazuje primjer alfa LOD-va. Jedan problem pri koriscenju alfa transparentnosti je to sto je potrebno uciniti sortiranje po dubini kako bi se osiguralo da se transparentnost pravilno mesa.Da bi se izbledela udaljena vegetacija, Votli [1350] raspravlja o tome kako se sum teksture moze koristiti za prozirnost (transparentnost) ekrana.Ovo ima efekat rastvaranja, pri cemu vise teksela na objektu nestaje sa povecanjem udaljenosti.Iako kvalitet nije tako dobar kao pravi alfa fade, prozirnost ekrana znaci da sortiranje nije potrebno. CLODs and Geomorph LODs Proces pojednostavljivanja mreze moze se koristiti za kreiranje razlicitih LOD modela iz jednog slozenog objekta.Algoritmi za izvodjenje ovog pojednostavljenja razmatrani su u Odeljku 12.5.1.Jedan pristup je kreiranje skupa diskretnih LOD-ova i njihovo koriscenje kao sto je ranije objasnjeno.Medjutim, metode urusavanja ivica imaju zanimljivo svojstvo koje dozvoljava druge nacine prelaska izmedju LOD-ova. Model ima 2 manja poligona nakon svake operacije sazimanja ivica.Ono sto se desava pri urusavanju ivice je da se ivica smanji sve dok 2 njegove krajnje tacke se ne sastanu i nestaje.Ako se ovaj proces animira, dolazi do glatkog prelaska izmedju originalnog modela i njegove malo pojednostavljene verzije.Za svako urusavanje ivica, jedan vrh je spojen sa drugim.Tokom niza urusavanja ivice, skup vrhova se pomera kako bi se udruzio sa ostalim temenima.Cuvanjem niza urusavanja ivice, ovaj proces se moze preokrenuti, tako da se pojednostavljeni model vremenom moze uciniti slozenijim.Preokret urusavanja ivice naziva se rascep vrhova (vertex split).Dakle, jedan od nacina za promenu nivoa detalja objekta je precizno zasnivanje broja poligona vidljivih na vrednosti odabira LOD-a.Na 100 metara udaljenosti, model bi se mogao sastojati od 1000 poligona, a pomerajuci se na 101 metar, mogao bi pasti na 998 poligona.Takva sema se naziva tehnika kontinualnog nivoa detalja (CLOD).Ne postoji dakle, diskretan skup modela, vec ogroman skup modela dostupnih za prikaz, svaki sa 2 poligona manje od svog slozenijeg susjeda.Iako je privlacno, koriscenje takve seme u praksi ima neke nedostatke.Ne izgledaju svi modeli u CLOD dobro.Poligonalne mreze, koje se mogu iscrtati (renderovati), mnogo brze od pojedinacnih trouglova, teze se koriste sa CLOD tehnikama nego sa statickim modelima.Ako u sceni postoji veliki broj istih objekata, svaki CLOD objekat mora navesti svoj specifican skup trouglova, buduci da se ne podudara ni sa jednim drugim.Blum [113] i Forsajt [351] raspravljaju o rjesenjima ovih i drugih problema. U podeljenom vrhu (vertex split), jedan vrh daje dva.To znaci da svaki vrh na slozenom modelu dolazi iz nekog vrha na jednostavnijoj verziji.Geomorph LODs [560] predstavljaju skup diskretnih modela, nastao pojednostavljenjem, uz odrzavanje povezanosti izmedju tjemena.Prilikom prelaska sa slozenog modela na jednostavan, vrhovi slozenog modela interpoliraju(umetnuti se ) se izmedju njihovih prvobitnih polozaja i polozaja jednostavnije verzije.Kada je prelaz zavrsen, jednostavniji model detalja se koristi za predstavljanje objekta.Pogledajte sliku 14.25 za primer prelaza.Geomorfi imaju brojne prednosti.Pojedinacni staticki modeli mogu se unaprijed odabrati kao kvalitetni i lako se mogu pretvoriti u poligonalne mreze. Figure 14.25. Leva i desna slika prikazuju model sa malim detaljima i model sa vise detalja.Slika u sredini prikazuje model geomorfa interpoliran priblizno na pola puta izmedju levog i desnog modela.Imajte na umu da krava u sredini ima jednako mnogo temena i trouglova kao i model desno. Poput CLOD-a, iskakanje (popping) se takodje izbegava glatkim prelazima.Glavni nedostatak je sto svaki vrh mora biti interpoliran;CLOD tehnike obicno ne koriste interpolaciju, pa se sam skup polozaja vrhova nikada ne menja.Jos jedan nedostatak je sto se cini da se objekti uvijek mijenjaju, sto moze odvratiti paznju (sto moze biti zbunjujce)Ovo se posebno odnosi na teksturisane objekte.Sander i Mičl opisuju sistem u kom se geomorfiranje koristi zajedno sa (u sprezi sa) statickim, GPU-rezidentnim vrhovima i indeksnim baferima. Srodna ideja zvana frakciona teselacija pronalazi svoj put do hardvera.U takvim semama, faktor teselacije za zakrivljenu povrsinu moze se postaviti na bilo koji decimalni broj pa se moze izbeci iskakanje, pucanje (popping).Razlomljena teselacija koristena je za Bezijeve slojeve i premjestaj mapiranja primitiva.Pogledajte odeljak 13.6.2 za vise informacija o ovim tehnikama. 14.7.2 LOD Selection S obzirom na to da postoje razliciti nivoi detalja objekta, mora se izabrati koji od njih ce da se renderuje (iscrta) ili koji da se spoji (kombinuje).Ovo je zadatak LOD odabira (LOD selection), a nekoliko razlicitih tehnika za to ce biti predstavljeno ovde.Ove tehnike se takodje mogu koristiti za izbor dobrih okludera za algoritme izbacivanja okluzija.(cudan prevod recenice). Uopsteno, metrika, takodje se naziva i funkcija koristi, procjenjuje se za trenutnu tacku gledista i lokaciju obejkta, a vrednost ove metrike bira odgovarajuci LOD.Ova metrika moze biti zasnovana, na primer, na projektovanoj povrsini granicne zapremina (BV) objekta ili udaljenosti od tacke gledista (posmatranja) do objekta.Vrednost fje koristi je ovde oznacena sa r.Pogledajte takodje Odjeljak 13.6.4 o tome kako brzo procijeniti projekciju linije na ekran. Figure 14.26. Levi deo ove ilustracije prikazuje kako funkcionisu LOD-ovi zasnovani na opsegu.Imajte na umu da je cetvrti LOD prazan objekat pa kada je objekat udaljeniji od r3, nista se ne iscrtava, jer objekat ne doprinosi dovoljno slici da bi bio vredan truda.Desni deo prikazuje LOD cvor u grafikonu scene.Samo jedno od djece LOD cvora je spusteno na osnovu r. Range-Based Uobicajen nacin izbora LOD-a je povezivanje razlicitih LOD-ova objekta sa razlicitim opsezima.Najdetaljniji LOD ima opseg od 0 do neke korisnicki definisane vrednosti r1, sto znaci da je ovaj LOD vidljiv kada je rastojanje do objekta manje od r1.Sledeci LOD ima opseg od r1 do r2 gdje je r2 > r1.Ako je rastojanje do objekta vece ili jednako r1 i manje od r2, onda se koristi ovaj LOD itd.Primeri 4 razlicita LOD-a sa njihovim opsezima i njihovim odgovarajucim LOD cvorom koristeni u grafikonu scene ilustrovani su na slici 14.26. Projected Area-Based Jos jedna uobicajena metrika za odabir LOD-a (LOD selection) je projektovana povrsina granicne zapremine (ili njena procjena).Ovde cemo pokazati kako se broj piksela te oblasti, koji se naziva pokrivenost ekrana , moze proceniti za sfere i kutije sa perspektivnim gledanjem (perspective viewing), a zatim prikazati kako se cvrsti ugao poligona moze efikasno aproksimirati. Polazeci od sfera, procjena se zasniva na cinjenici da se velicina projekcije objekta smanjuje sa rastojanjem od gledaoca (posmatraca) duz pravca pogleda.Ovo je prikazano na slici 14.27 koja ilustruje kako se velicina projekcije prepolovljuje ako se udaljenost od posmatraca udvostruci.Sferu definisemo po njenoj sredisnjoj tacki c i sa poluprecnikom r.Posmatrac se nalazi u v gledajuci po normalizovanom vektoru pravca d.Rastojanje od pravca posmatranja je jednostavno projekcija centra sfere na vektor posmatranja: d · (c − v).Takodje pretpostavljamo da je rastojanje od posmatraca do bliske ravni frustuma n.Bliska ravan se koristi u proceni tako da objekat koji se nalazi na bliskoj ravni vrati svoju originalnu velicinu.Procjena radijusa projektovane sfere je tada: Povrsina projekcije je tako πp2.Veca vrijednost bira detaljniji LOD. Figure 14.27. Ova ilustracija prikazuje kako se velicina projekcije objekata prepolovljuje kada se udaljenost udvostruci. Uobicajena je praksa da se jednostavno koristi granicna sfera oko granicnog okvira objekta.Tanki ili ravni objekti mogu se znacajno razlikovati u kolicini projektovane povrsine koja je stvarno pokrivena.Šmajlštig i Tobler su razvili brzu rutinu za izracunavanje projektovane povrsine okvira [1130].ideja je klasifikovati tacku posmatranja kamere u odnosu na okvir i koristiti ovu klasifikaciju da se utvrdi koji su projektovani vrhovi ukljuceni u siluetu projektovanog okvira.Ovaj proces se vrsi pomocu tabele za trazenje (LUT).Pomocu ovih vrhova, oblast se moze izracunati tehnikom predstavljenom na stranici 910.Klasifikacija je kategorisana u 3 velika slucaja, prikazana na slici 14.28.Prakticno, ova klasifikacija se vrsi tako sto se odredjuje na kojoj strani ravni granicnog okvira se nalazi tacka posmatranja.Radi efikasnosti, tacka posmatranja se transformise u koordinatni sistem okvira, tako da su za klasifikaciju potrebna samo poredjenja.Rezultati poredjenja se stavljaju u bitmasku, koja se koristi kao indeks u LUT.Ovaj LUT odredjuje koliko vrhova postoji u silueti gledano sa tacke posmatranja. Figure 14.28. Tri slucaja projekcije kocke, koja prikazuje jedno, dva i tri prednja lica (frontfaces). (Illustration after Schmalstieg and Tobler [1130].) Figure 14.29. Geometrija ukljucena u procenu cvrstog ugla. Zatim se koristi druga pretraga za stvarno pronalazenje vrhova siluete.Nakon sto su projektovani na ekran, povrsina se izracunava.Izvorni kod je dostupan na vebu. Da bi odabrali dobar occulder, Coorg i Teller [199] procjenjuju cvrti ugao naspraman poligonu.Ovo se takodje moze koristiti za izbor LOD-a.Njihova aproksimacija je: Ovde, a je povrsina poligona, n je normala poligona, v je vektor pravca posmatranja , a d je vektor od tacke posmatranja do centra poligona.Pretpostavlja se da su i v i n normalizovani.Geometrija je prikazana na slici 14.29.Sto je veca vrijednost r, veca je korist.Aproksimacija cvrstog ugla procjenjuje korist jer sto je veca povrsina, veca je vrijednost, a vrijednost je obrnuto proporcionalna udaljenosti od poligona.Takodje, maksimalna vrijednost se postize kada posmatrac gleda poligon „ceono“, a vrijednost se smanjuje sa povecanjem ugla izmedju normale poligona i pravca posmatranja [199].Medjutim, ovo svojstvo je uglavnom korisno za izbor occluder-a, a ne za odabir LOD-a (LOD selection). Hysteresis Do nepotrebnog iskakanja moze doci ako se metrika koja se koristi za odredjivanje koji LOD da se koristi razlikuje od okvira do okvira (frejma do frejma) oko neke vrijednosti, ri.Moze doci do brzih promjena izmedju nivoa. Figure 14.30. Siva podrucja ilustruju oblasti histereze za LOD tehniku. Ovo se moze rijesiti uvodjenjem neke histereze oko vrednosti ri [661, 1079].Ovo je ilustrovano na slici 14.30. za LOD zasnovan na opsegu, ali se odnosi na bilo koji tip.Ovde se gornji red LOD opsega koristi samo kada se r povecava.Kada se r smanjuje, koristi se donji red raspona. Other Selection Methods Odabir LOD-a zasnovan na opsegu i projektovanoj oblasti je tipicno najcesce koriscena metrika.Medjutim, moguce su mnoge druge, a neke cemo spomenuti ovde.Osim projektovane povrsine, Fankhauser i Sikuen [371] takodje predlazu koriscenje vaznosti objekta(npr. Zidovi su vazniji od sata na zidu), kretanje, histereza(pri promeni LOD-a korist se smanjuje) i fokus.Fokus paznje posmatraca moze biti vazan faktor.Npr., u sportskoj igri, figura koja kontrolise loptu je mjesto na koje ce korisnik obracati najvecu paznju pa drugi likovi mogu imati relativno nizi nivo detalja [661]. U zavisnosti od primene, druge strategije mogu biti plodne.Moze se koristiti ukupna vidljivost, npr., obliznji objekat vidjen kroz gusto lisce moze se prikazati (renderovati) sa nizim LOD-om.Moguce su globalnije metrike, kao sto je ogranicavanje ukupnog broja visoko detaljnih LOD-ova koji se koriste da bi ostali unutar budzeta poligona [661].Za vise informacija o ovoj temi pogledajte sledeci odjeljak.Drugi faktori su vidljivost, boje i teksture.Perceptivne metrike se takodje mogu koristiti za izbor LOD-a [1051]. 14.7.3 Time-Critical LOD Rendering Cesto je pozeljna karakteristika sistema za renderovanje (iscrtavanje) da ima konstantnu brzinu frejmova (kadrova).U stvari, to se cesto naziva „u realnom vremenu“ ili vremenski kriticno.Takvom sistemu se daje odredjeno vrijeme, recimo 30ms i on mora zavrsiti svoj zadatak (npr. Iscrtati sliku) u tom roku.Kada istekne vreme, sistem mora da zaustavi obradu.Algoritam za renderovanje u realnom vremenu moze se postici ako su objekti u sceni predstavljeni npr. LOD-ovima. Fankhaouser i Sekvin [371] predstavili su heuristicki algoritam koji prilagodjava izbor nivoa detalja za sve vidljive objekte u sceni kako bi se zadovoljili zahtevi konstantne brzine kadrova (frejmova).Ovaj algoritam je prediktivan u smislu da bira LOD vidljivih objekata na osnovu zeljene brzine kadrova i na osnovu kojih su objekti vidljivi.Takav algoritam je u suprotnosti sa reaktivnim algoritmom koji svoj izbor zasniva na vremenu koje je potrebno za iscrtavanje prethodnog okvira. Objekat se zove O i iscrtava se na nivou detalja koji se naziva L, sto daje (O,L) za svaki LOD objekta.Zatim se definisu 2 heuristike.Jedna heuristika procjenjuje troskove iscrtavanja objekta na odredjenom nivou detalja: Cost(O,L).Drugi procjenjuje korist objekta iscrtanog na odredjenom nivou detalja: Benefit(O,L).Funkcija koristi procjenjuje doprinos slici objekta na odredjenom LOD-u. Pretpostavimo da se objekti unutar ili u preseku frustuma nazivaju S.Glavna ideja algoritma je optimizovati izbor LOD-ova (selection LODs) za objekte S pomocu heuristicki odabranih funkcija.Konkretno, zelimo maksimizovati Pod ogranicenjem Drugim rijecima, zelimo da izaberemo nivo detalja za objekte koji nam daju „najbolju sliku“ unutar zeljene brzine frejmova (kadrova).Zatim, opisujemo kako se mogu procijeniti funkcije troskova i koristi, a zatim predstavljamo algoritam optimizacije za jednacine iznad. Tesko je definisati funkciju troskova i funkciju koristi, tako da rade pod svim okolnostima.Funkcija troskova moze se procijeniti vremenskim renderovanjem (isrctavanjem) LOD-a nekoliko puta sa razlicitim parametrima.Vidite Odjeljak 14.7.2 za razlicite funkcije koristi.U praksi, projektovana povrsina BV objekta cesto je dovoljna kao fja koristi. Na kraju cemo razgovarati o tome kako odabrati nivo detalja za objekte u sceni.Prvo, napominjemo sledece: Sa neke tacke gledista, scena moze biti previse slozena da bi mogla pratiti zeljeni broj kadrova.Da bismo to rijesili, mozemo definisati LOD za svaki objekat na njegovom najnizem nivou detalja, koji je jednostavno objekat bez primitiva – tj., izbjegavamo renderovanje (prikazivanje) objekta [371].Koristeci ovaj trik, iscrtavamo samo najvaznije objekte i preskacemo nebitne. Da bi se odabrali „najbolji“ LOD-ovi za scenu, jednacina 14.5 mora biti optimizovana pod ogranicenjem prikazanim u jednacini 14.6. Ovo je NP-kompletan problem, sto znaci da je za njegovo ispravno rjesavanje jedino potrebno testirati sve razlicite kombinacije i odabrati najbolju.Ovo je ocigledno neizvodljivo za bilo koju vrstu algoritma.Jednostavniji i izvodljiviji pristup je koriscenje pohlepnog algoritma koji pokusava da maksimizovati vrijednost Value = Benefit(O,L)/Cost(O,L) za svaki objekat.Ovaj algoritam tretira sve objekte unutar frustuma bira da objekte iscrtava u opadajucem redoslijedu, tj. prvo onog koji ima najvecu vrijednost.Ako objekat ima istu vrijednost za vise od jednog LOD-a, tada se bira i prikazuje LOD sa najvecom koristi.Ovaj pristup daje najveci „udarac za novac“.Za n objekata unutar frustuma, algoritam radi O(n log n) i prozivodi rjesenje koje je barem upola bolje od najboljeg. Fankhaouser i Sikvin takodje koriste koherentnost okvira za kadar za ubrzavanje sortiranja vrijednosti. Vise informacija o upravljanju LOD-om i kombinaciji upravljanja LOD-om i uklanjanje portala mozete pronaci u Fankhauserovoj doktorskoj tezi [372].Masieu i Sirli [806] kombinuju LOD-ove sa varalicama i predstavljaju algoritam algoritam priblizno konstantnog vremena za prikazivanje scena na otvorenom.Opsta ideja je da se koristi hijerarhija razlicitih prikaza (neki LOD-ovi, hijerarhijskih varalica, itd.) objekta.Zatim drvo prelazi na neki oblik kako bi se dobila najbolja slika s obzirom na odredjeno vrijeme.Mason i Blejk [824] predstavljaju inkrementalni hijerarhijski algoritam za odabir LOD-a.Opet, razlicite predstave objekta mogu biti proizvoljne.Erikson i drugi [317] predstavljaju hijerarhijski nivo detalja (HLODs).Koristeci ih, scena se takodje moze prikazati sa konstantnom brzinom kadrova ili tako da se greska prikazivanja ogranici.Smajlstig i Vimer predstavljaju analiticke formule za odabir uravnotezenog broja poligona za kontinuirane nivoe detalja [1357]. Koriste Lagranzove multiplikatore za rjesavanje istog problema koji su Fankhauser i Sekvin rijesili za upravljanje statickim LOD-ovima [371].