dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

Single pass vs multi pass lighting

 
dev.gamez.lv Forum Index -> Microsoft DirectX
View previous topic :: View next topic  
Author Message
dev



Joined: 27 Jul 2004
Posts: 206
Location: Latvija

PostPosted: Tue Jul 27, 2004 9:50 pm    Post subject: Single pass vs multi pass lighting

Sveiki.
Nezinu vai kaads te varees atbildeet, bet gribeeju noskaidrot kaa buutu praatiigaak dariities ar apgaismojumu sheiderii - censties sareekjinaat peec iespeejas vairaak gaismas vienaa piegaajienaa (pass) vai katru gaismu atseviskjaa (multipass). Pagaidaam pieturos pie pirmaa panjeemiena un vienaa pixel sheiderii reekjinu triis gaismas uzreiz (kombineejot rezultaatus). To protams var izdariit tikai uz 2.0 sheidera un tas sanaak diezgan garsh un nepaaraak aatrs (relatiivi).. iznaakums protams ir vizuaali izcils. Otrs panjeemiens buutu katru gaismu reekjinaat atseviskjaa piegaajienaa (passaa) un beigaas sablendot visu kopaa - taa laikam tiek dariits Far Cry. Shis panjeemiens ljauj izmantot vecaakus sheiderus un visa struktuura sanaak vienkaarshaaka, tachu gjeometrija tiek laista caur vertex sheideri un transformeeta vairaakkaartiigi un protams arii fillreits tiek pateereets (objekts tiek ziimeets vairaakkaartiigi)
Varbuut kaadi komentaari??

aa un veel viens jautaajums - vai kaads no klaatesoshajiem ir norealizeejis 'shadow maps' uz ATI karteem. Zinu ka NVIDIA supportee speciaalu textuuru formaatu tieshi z-buffera glabaashanai un veic automaatisku dziljumu saliidzinaashanu taadejaadi eenas implementeet kljuust triviaali. Bet ar ATI karteem ir suudiigaak (un man ir ATI) - oficiaalais demo ir baigi bremziigs un neko daudz no infa netaa nevar atrast.. + veel attieciigi rodas probleema ar universaalas metodes izveidi prieksh abaam karteem.. Sad

paldies..
Back to top
View user's profile Visit poster's website MSN Messenger
GiGa
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 25 Sep 2003
Posts: 887

PostPosted: Tue Jul 27, 2004 10:13 pm    Post subject:

Pats lietoju OGL taapeec neko specifisku nepateikshu, bet labaak multi pass nekaa single. Kaa jau tu teici, kopsummaa viss paliek daudz vienkaarshaaks. Es varu iedomaaties sceenas, kur pat izdomaat, kurus poligonus un kaadaa seciibaa ar kaadaam gaismaam rendereet ir gruuti, kur nu veel uzraksiit algoritmu, kas to izdomaas. Bet ar multi pass viss vienkaarshi - njem gaismu ar visiem poligoniem, kas var tikt apgaismoti un renderee. Njem naakamo gaismu.
_________________
Back to top
View user's profile Send e-mail
dev



Joined: 27 Jul 2004
Posts: 206
Location: Latvija

PostPosted: Tue Jul 27, 2004 11:14 pm    Post subject:

Nu vispaar te nav starpiibas DX vai GL - funkcionalitaate jau ir sheiderii, bet ar taam gaismaam ir vienkaarshi jau arii ar vairaakaam - atrod x tuvaakaas (ietekmeejoshaas) gaismas objektam t.i. njem gaismu uz visu objektu nevis katru trijstuuri un padod kaa parametrus sheiderim. Doma man bija vairaak par performanci - kaa aatraak vienaa vai vairaakos piegaajienos..

.. veel viena probleema ir ar terrainu abos gadijumos - pienjemsim ja terrains tiek daliits un rendereets sektoros (quadtree), tad potenciaali tuvaakaa gaisma var tikt reekjinaata tikai sektoram (nevis atseviskjam trijstuurim), bet taadaa gadijumaa var rasties nepatiikami gljuki uz sektoru robezhaam, ja abi sektori tiek izgaismoti ar dazhaadaam gaismaam - t.i. ir vairaakas mazas gaismas uz abiem sektoriem un katram sektoram tuvaakaas ir citas, bet gaismu robezhas paarklaajas. Viens risinaajums ir nepieljaut vairaak kaa 2 vai 3 (cik nu sheideris supportee gaismas) gaismu atrashanos tuvaak par minimaalo sektora izmeeru.

Diez kaa tas notiek Doom3 vai FarCry indoor liimenjos lielajai gjeometrija - kaa tiek noteiktas ietekmeejoshaas gaismas?? Reekjina uz katru bsp nodi vai kaa?? hmm.. :/
Back to top
View user's profile Visit poster's website MSN Messenger
GiGa
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 25 Sep 2003
Posts: 887

PostPosted: Tue Jul 27, 2004 11:38 pm    Post subject:

Quote:

Nu vispaar te nav starpiibas DX vai GL - funkcionalitaate jau ir sheiderii,


To es biju domaajis par ATI/nVidia jautaajumu. OGL ir viens extension abaam karteem...

Quote:

Diez kaa tas notiek Doom3 vai FarCry indoor liimenjos lielajai gjeometrija - kaa tiek noteiktas ietekmeejoshaas gaismas?? Reekjina uz katru bsp nodi vai kaa?? hmm.. :/

Nebuutu jau slikti uzinaat :)

Nu, ja tiek izmantots multi pass (kaa manliekas arii ir), tad laikam notiek taa, ka katrai gaismai atrod BSP/quad/octree nodes, un tad veel varbuut ieksh nodem notiek kaut kaada chekoshana...

Kaapeec man taa liekas, ka Doom3 ir multi pass lighting?
1. Tu esi pirmais cilveks, kurs reaali nopietni ir runaajis (ar mani vismaz) par single
2. Man ir viena John'a Carmack'a veestule, kuraa vins apspriez stencil shadowus, un tur ir diezgan labi redzams, ka vins njemaas ar per-light-pass. Laikam stencilam savaadaak nemaz nevar, bet par cik Doom3 ir gan lightmaps gan stencil shadows, tad nedomaaju, ka shie njeema un taisiija stencilam multi pass, bet mapeem single...
_________________


Last edited by GiGa on Tue Jul 27, 2004 11:46 pm; edited 1 time in total
Back to top
View user's profile Send e-mail
dev



Joined: 27 Jul 2004
Posts: 206
Location: Latvija

PostPosted: Tue Jul 27, 2004 11:42 pm    Post subject:

.. veel lietojot multi pass rodas probleemas ar puscaurspiidiigiem objektiem Sad
.. nu lab , jaasaak mekleet netaa..
Back to top
View user's profile Visit poster's website MSN Messenger
GiGa
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 25 Sep 2003
Posts: 887

PostPosted: Wed Jul 28, 2004 12:27 am    Post subject:

Quote:

.. veel lietojot multi pass rodas probleemas ar puscaurspiidiigiem objektiem


Hmm, kur probleema, kas ir multi pass, automaatiski atrisinaas lietojot single pass?
_________________
Back to top
View user's profile Send e-mail
dev



Joined: 27 Jul 2004
Posts: 206
Location: Latvija

PostPosted: Wed Jul 28, 2004 10:43 am    Post subject:

Man radaas jauna ideja par lieliem objektiem... no saakuma probleema - iedomaajies lielu objektu, kas tiek rendereets viss uzreiz (static mesh) piemeeram vilciena vagons. Kaa pareizi noskaidrot gaismas kas vinju ietekmee, ja gaismu raadiuss ir krietni mazaaks par kaadu no objekta dimensijaam un gaismas atrodas visapkaart objektam. Mekleejot tuvaakaas x gaismas objektam (objekta centram pasaules koordinaataas) nederees, jo ja objekts ir neregulaaras formas (piem garsh kaa vagons) tad gaismas tiks atrastas nekorekti. Tad nu man radaas doma mekleet taas gaismas kuraam to ietekmes sfeeras kolidee ar objekta bounding box. Beigaas no shii gaismu saraksta izveelos x gaismas kas ir vistuvaak objekta bounding boxam (bet kaa to iisti matemaatiksi noskaidrot?) .. izskataas labi, bet nu protams rodas jautaajums par aatrdarbiibu shajaa gadijumaa..

Veel man ir aktuaals jautaajums mar mainiigu gaismu skaitu sheiderii - piemeeram ja sheideris supportee max 3 gaismas, bet objektu reaali apgaismo tikai 1 (citas ir taalu un neietekmee), buutu izskjeerdiigi reekjinaat shiis 2 papildus gaismas. Patreiz es sheiderii aatri apreekjinu vai katra gaisma ietekmee oibjektu un ja nee tad nereekjinu taalaak bet uzreiz rezultaatu ielieku 0 prieksh attieciigaas gaismas, bet buutu forshi ja vareetu uzreiz padot sheiderim aktiivaas gaismas un vinjam nevajadzeetu lieki reekjinaat. hmm..

Bet par to single/multi pass - piem halflife2 ja ir iespeejams visu renderee single pass un arii doom3 skjiet. Hl2 sheideru sourcee tas ir labi redzams un arii oficiaalajos rakstos vinji to saka. Tas pats ar UnrealEngine3 - uz jaunajaam karteem viss notiek single pass, uz vecaakaam multi pass.

doom3 tak man liekas neizmanto lightmapus - tikai stencil shadows, vinji tak pashi sludina ka ir unified lighting modelis visam.
Back to top
View user's profile Visit poster's website MSN Messenger
GiGa
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 25 Sep 2003
Posts: 887

PostPosted: Wed Jul 28, 2004 12:00 pm    Post subject:

Quote:

Beigaas no shii gaismu saraksta izveelos x gaismas kas ir vistuvaak objekta bounding boxam (bet kaa to iisti matemaatiksi noskaidrot?) .. izskataas labi, bet nu protams rodas jautaajums par aatrdarbiibu shajaa gadijumaa..


Nu visprimitiivaakais, kas man nak praataa buutu vienkaarshi noskaidrot closest point on line katram edgam bounding boxam un gaismai. Tas gan buutu ljoti leeni, bet ja izdotos deelj taa ieiekonomeet kaut vai fill rate 100x100 pixeljiem veel pietam ar sarezgiitiem vert/frag shaderiem tad tas laikam atmaksaatos.

Quote:

Veel man ir aktuaals jautaajums mar mainiigu gaismu skaitu sheiderii - piemeeram ja sheideris supportee max 3 gaismas, bet objektu reaali apgaismo tikai 1 (citas ir taalu un neietekmee), buutu izskjeerdiigi reekjinaat shiis 2 papildus gaismas. Patreiz es sheiderii aatri apreekjinu vai katra gaisma ietekmee oibjektu un ja nee tad nereekjinu taalaak bet uzreiz rezultaatu ielieku 0 prieksh attieciigaas gaismas, bet buutu forshi ja vareetu uzreiz padot sheiderim aktiivaas gaismas un vinjam nevajadzeetu lieki reekjinaat. hmm..



Kaadaa veidaa tu dari to "es sheiderii aatri apreekjinu vai katra gaisma ietekmee oibjektu un ja nee tad nereekjinu taalaak bet uzreiz rezultaatu ielieku 0 prieksh attieciigaas gaismas". Ja tu to vari aatri izdariit, tad es tieshaam paareju no multi uz single pass atbalstiitaajiem :)

Quote:

doom3 tak man liekas neizmanto lightmapus - tikai stencil shadows, vinji tak pashi sludina ka ir unified lighting modelis visam.


Hmm, varbuut vinji neizmanto lightmapus, kuri tiek apreekinaati dinamiski, bet es pats veel demo versijaa ar kaukaadu F* liku gaismas, kuraam bija ieprieksh sagatavotas lightmapes, kuras imiteeja gaismu, kas naak caur rezgiem, caur trepeem utt.
_________________
Back to top
View user's profile Send e-mail
dev



Joined: 27 Jul 2004
Posts: 206
Location: Latvija

PostPosted: Wed Jul 28, 2004 12:22 pm    Post subject:

Juhuu Smile tikko atvilku Directx9c SDK Very Happy - tur ljoti daudzas no manaam probleemaam ir risinaatas - mainiigs gaismu skaits, shadow maps utt... tiiri feini - jaasaak skatiities. Turklaat vinji tagad piedaavaa jaunu freimworku ar sameeraa advanceetaam UI kontroleem, kas ljauja aatri uzbliest kautkaadus vizuaalus tooljus un testa aplikaacijas.

Par taam shiederu gaismaam kaa es daru - kaa jau teicu man viss ir single pass, un tad nu pixel sheiderii izreekjinu ciklaa katrai gaismai attenuation value (njemu gaismas raadiusu, poziiciju un pixelja poziiciju (ko padodu no vertex sheidera pixel sheiderim) un izreekjinu gaismas ietekmi uz pixeli.) Ja taa ir 0, tad vienkaarshi nereekjinu gaismas veertiibas ( HLSL ar if Smile ), bet uzreiz attieciigajai gaismai pieskjiru 0 ceertiibu.. tad nu beigaas sasummeeju visu gaismu veertiibas un suutu aaraa no pixelsheidera...
nezinu gan cik tas ir effektiivi, buus jaanotestee..

Par Doom3 - nu tie iisti nav lightmapi (shii termina klasiskajaa izpratnee) - taas ir vnk gaismas kas tiek emuleetas ar projektiivajaam tekstuuraam - tb gaismai naak klaat parametrs - tekstuura (cube prieksh omni vai arii parastaa prieksh spot) , tad nu shii tekstuura tiek projeceeta uz gjeometrijas un izmantota kaa color value gaismas apreekjinos..

.. bet nu Microsofts shoreiz mani iepriecina - viskautko forshu sataisiijushi SDK - labi samplji, laba doumentaacija un daudz noderiigas fiichas (tieshi taadas, kaa mekleeju) :D

.. ek, ja vien vareetu GF6800 dabuut un papriecaaties ar 3.0 sheideriem ^_^ hehe..
Back to top
View user's profile Visit poster's website MSN Messenger
GiGa
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 25 Sep 2003
Posts: 887

PostPosted: Wed Jul 28, 2004 12:44 pm    Post subject:

Quote:

HLSL ar if


Tieshi tas mani attureeja no single pass izmantoshanas - if ir (vai vismaz bija, kad es par shito intereseejos) leens. (http://dev.gamez.lv/viewtopic.php?p=1579#1579) Kaut gan laikam taadaam karteem kaa 6800 taa vairs nav probleema. Bet tik un taa pameegini to if izkomenteet un izdariit visus apreekinus tik un taa - saliidzini performance un paarliecinies, ka man (cerams) nav taisniiba.
_________________
Back to top
View user's profile Send e-mail
dev



Joined: 27 Jul 2004
Posts: 206
Location: Latvija

PostPosted: Wed Jul 28, 2004 12:48 pm    Post subject:

nu to ifu notesteeshu, bet vispaar taisos izmantot citu pieeju - aktiivaas gaismas noskaidrot c++ programmaa un gaismu skaitu padot kaa parametru sheiderim.. taalaak jau vienkaarshi cikli.
Back to top
View user's profile Visit poster's website MSN Messenger
GiGa
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 25 Sep 2003
Posts: 887

PostPosted: Wed Jul 28, 2004 12:59 pm    Post subject:

Tieshi taads bija mans plaans... bet, ja if izraadiisies leens, tad tie cikli nebuus diez cik aatri...
_________________
Back to top
View user's profile Send e-mail
anggelus



Joined: 23 Feb 2005
Posts: 383
Location: Rīga (LV)

PostPosted: Thu Mar 10, 2005 1:21 am    Post subject:

[quote="GiGa"]
Quote:

Hmm, varbuut vinji neizmanto lightmapus, kuri tiek apreekinaati dinamiski, bet es pats veel demo versijaa ar kaukaadu F* liku gaismas, kuraam bija ieprieksh sagatavotas lightmapes, kuras imiteeja gaismu, kas naak caur rezgiem, caur trepeem utt.

Doom3 izmanto tikai stencil shadows. Lai realizētu point light un spot light jebkurā gadījumā tiek izmatotas šeiderī kalkulētas ligtmapes (parasti balti riņķi ar izpludinātām malām). Trešajā Doom vienkārši šīs standerta generētās lightmapes tiek aizvietotas ar mākslinieku izveidotām statiskām tekstūrām, piemēram, lai imitētu restes. Es pats ar izmantoju šo paņēmienu, jo ne jau visur ir iespējamas stencil ēnas.
_________________
No comprendo lo que dice.
Back to top
View user's profile Send e-mail
anggelus



Joined: 23 Feb 2005
Posts: 383
Location: Rīga (LV)

PostPosted: Thu Mar 10, 2005 1:30 am    Post subject:

Half-Life2 un Doom3 ir pavisam atšķirīgas renderēšanas metodes. Doom3 pilnīgi viss veido dinamiskās ēnas izmantojot stencil shadows, tur pretī HL2 ir statiskās lightmapes, dinamiskās ēnas krīt tikai no kustīgajiem objektiem (cilvēkiem, kastēm utt.), cerams ka galvenā doma ir skaidra, negribās sīkāk skaidrot.

Aizmirsu pashu galveno.
Izmantojot stencil shadows nav iespējams iegūt reālistisku ēnojumu, ja tiek renderētas vairākas gaismas vienlaicīgi, der tikai un vienīgi multi pass. Ja es tomēr kļūdos un tas ir kaut kā iespējams, tad pastāstiet man arī, jo šo lietu es gan gribētu zināt.
_________________
No comprendo lo que dice.
Back to top
View user's profile Send e-mail
Display posts from previous:   
dev.gamez.lv Forum Index -> Microsoft DirectX All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group