[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3545: Cannot modify header information - headers already sent by (output started at /includes/functions.php:2960)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3547: Cannot modify header information - headers already sent by (output started at /includes/functions.php:2960)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3548: Cannot modify header information - headers already sent by (output started at /includes/functions.php:2960)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3549: Cannot modify header information - headers already sent by (output started at /includes/functions.php:2960)
Det Store Dyret • Se emne - Aurora
Side 1 av 1

Aurora

InnleggSkrevet: 02 Jun 2013, 07:40
nordahl
Jeg har det siste året puslet litt med en ray tracer. Det begynte som et prosjekt jeg startet for å motivere meg selv til å gå dypere inn i matte, fysikk og algoritmer bak lystransport, shading og geometri, og utvikler seg nå sakte men sikkert mot en platform hvor jeg kan blande teknisk fasinasjon med praktiske prosjekter rundt lyssetting, lookdev og komposisjon. For øyeblikket tipper det fortsatt 95% mot det tekniske, men nå som jeg har en god base skifter jeg retning for å ta det til et mer praktisk verktøy enn et rent programmeringsprosjekt.

I den anledning passer det greit å starte en tråd her. Jeg har foreløpig ikke et fast visuelt prosjekt, men pusler litt med små still-bilder for å showcase oppdateringer på den tekniske siden, mens jeg leter etter et prosjekt jeg kan ta til ferdige illustrasjoner over tid.

Ray traceren heter Aurora, og er skrevet i C++. Det er for øyeblikket en unbiased path tracer, med en Maya-integrering som i praksis bare er litt python som eksporterer geometri og shadere, og har en liten UI for å sette render globals. Dette er biten jeg vil fokusere mer på fremover, så det blir lettere å jobbe med teksturering og lyssetting direkte i Maya.

Her er diverse test rendere fra utvikling det siste året:
(Beklager dobbel jpg-komprimering. Dyret tok ikke filstørrelsen (alle var over 300k), og disse er fra før jeg begynte med å spare på alle test rendere som exr-filer)

dyret.01.jpg
dyret.01.jpg (51.76 KiB) Vist 9460 ganger


dyret.02.jpg
dyret.02.jpg (149.21 KiB) Vist 9390 ganger


dyret.03.jpg
dyret.03.jpg (74.37 KiB) Vist 9471 ganger


dyret.04.jpg
dyret.04.jpg (49.8 KiB) Vist 9463 ganger


dyret.05.jpg
dyret.05.jpg (22.7 KiB) Vist 9410 ganger


-Espen

Re: Aurora

InnleggSkrevet: 05 Jun 2013, 23:32
nordahl
Da har jeg funnet meg et prosjekt jeg vil jobbe med. Jeg fant en kjøkkenscene fra en gammel CGTalk Lighting Challenge som var både ryddig og stilfull, og har en overkommelig liste over features som må implementeres for å få brukbare stills.

Jeg implementerte sub divison surfaces i helga, så nå slipper jeg å manuelt smoothe ting i Maya før jeg renderer det. Det siste som mangler på den tekniske siden før jeg begynner med teksturering er en metall-shader, da det jeg har nå er glass, diffuse, speil og Kelemen (standard diffuse+spec materiale).

Her er en render jeg gjorde for å teste scena med sub-d:
dyret.06.jpg
dyret.06.jpg (259.18 KiB) Vist 9447 ganger

Modell av Sapna Mondol.

-Espen

Re: Aurora

InnleggSkrevet: 06 Jun 2013, 14:08
superrune
Så utrolig kult! Imponerende at du bare setter deg ned og skriver en raytracer!! Hvor lang tid har det tatt å komme dit du er nå? Tror du at du kommer til å støtte avanserte funksjoner som motion blur, displacements og scattering etter hvert?

Re: Aurora

InnleggSkrevet: 07 Jun 2013, 01:23
nordahl
Takker! Det er dritmoro når man først kommer over den første knausen med forståelse (tok en god stund før jeg hadde den første renderen av en sphere). Det hjelper også at jeg har flere kompiser her nede som driver med lignende utvikling i og utenfor jobb - det er kjekt å kunne gå ned en etasje og spørre forfatteren når man sitter fast i et siggraph paper.

Jeg startet i juli i fjor, og hadde en periode på flere mnder hvor den lå på hylla mens det var mye å gjøre på jobb. Så alt i alt har det tatt kanskje 10-15 timer i uka i 6 mnder?

Det blir helt sikkert flere features fremover. Om jeg holder fokus nok til å gjennomføre kjøkken-scena i en ok kvalitet har jeg lyst til å prøve en karakter etter det, så da blir det nok både subsurface scattering, displacement og hår. Men da snakker vi nok ikke før i høst eller vinter. Vi får se hvor mye som bryter sammen når jeg begynner å teksturere alle disse objektene ;)

Her er kjøkkenscena med et basic kelemen materiale:
dyret.07.jpg
dyret.07.jpg (204.98 KiB) Vist 9295 ganger


-Espen

Re: Aurora

InnleggSkrevet: 07 Jun 2013, 08:46
agradula
Jeg må si at renderen produserer veldig gode resultater hittil, og du må gjerne lage en versjon som fungerer i MAX også. :)
Ellers så lurer jeg litt på hvor jeg skal gå for å lære meg koding på en morsom måte. Har prøvd codeacademy littegrann men det blir så fort tørt og kjedelig (for meg).
Jeg har ingen ambisjoner om å bli verdensmester i koding, men mer for å lære meg å forstå litt mer av hvordan ting er bygd opp og kanskje klare å lage noen helt enkle greier om en stund. Og max-script da. Vil gjerne lære litt av det også.
Men jeg er en sånn person som bruker uendelig lang tid på materialer og tweaking av den slags. Har god tålmodighet med å lage musikk og generelt god tålmodighet på produsering av ting, men når det kommer til å lære seg å kode så bare... begynner jeg å gjøre alt mulig annet. Oj. Må rydde pulten gitt. ojojoj. lage litt mer kaffe ja. heh.
Noen tips? plz?
og en gang til. Synes det er dritfett når mannen i gata, selv om du sikkert er pro, lager slike ting som shadere og denslags.

Re: Aurora

InnleggSkrevet: 07 Jun 2013, 11:29
nordahl
Nå er jeg selvlært, så ta alt jeg sier med en bøtte salt.

Det meste av teori er dødelig kjedelig i et vakum, så det jeg ville anbefalt er å finne et lite prosjekt du kan bruke som en gulrot. Et eller annet som har er relativt lite omfang, men som ligger en god halvmeter utenfor komfortsona di, og hvor du sitter igjen med et resultat du synes er kult eller løser en oppgave som du alltid har irritert deg over. Skriv en liten iPhone app, et max/maya script som assigner shadere basert på shape-navn, et pythonscript som rydder opp i en mappe med teksturer, hva som helst.

Det beste som finnes på internett er iTunes University. Her har de fulle bachelor- og masterkurs fra de aller beste skolene i verden, og det koster deg ikke en krone. De aller fleste linker også til oppgaver, eksamen, bøker, fasit osv., så i praksis kan hvem som helst lære seg hva som helst i underbuksa. Bare husk å bruke mest tid på å tukle med ting på egenhånd, og gjør de samme oppgavene som elevene som følger kurset "live" gjør. Man får ingenting ut av å bare høre på folk prate om koding. Ikke bry deg så mye om hvilket språk de lærer bort, prinsippene bak er de samme, og det er enkelt å lære seg et nytt språk om man allerede behersker et. Jeg ville ikke kalt noen av dem "morsomme", men om du bytter på å pusle med ditt eget prosjekt og å følge disse finner du fort ut at det er verdt det.

For grunnleggende programmering er det disse jeg har fått mest ut av, i stigende vanskelighetsgrad:
https://itunes.apple.com/nz/itunes-u/pr ... d384232917
https://itunes.apple.com/nz/itunes-u/ip ... d473757255
https://itunes.apple.com/us/itunes-u/pr ... d384233005

Kommer du deg gjennom det første kommer du til å spise MAX-script til frokost på et par dager. De andre to er mest for moro skyld om du er sulten på mer etter det. Nummer to er veldig praktisk, og det siste er veldig teoretisk.

Jeg tror det første kurset/faget krever en viss forståelse for programmering allerede, så om du ikke holder følge kan du starte her, på kurset før i Standord computer science programmet:
https://itunes.apple.com/nz/itunes-u/pr ... d384232896
Jeg visste ikke om iTunesU før jeg allerede kunne litt, så jeg vet ingenting om dette kurset annet enn at det begynner helt fra starten av.

-Espen

Re: Aurora

InnleggSkrevet: 10 Jun 2013, 11:57
nordahl
Etter mye knot fikk jeg lagt til støtte for uv koordinater (og alle andre prim vars) til sub-d geometri, så jeg brukte kvelden til å leke litt med teksturer. Jeg tror også dette er første gangen jeg har uv mappet noe på mer enn 5 år.

dyret.08.jpg
dyret.08.jpg (132.61 KiB) Vist 9169 ganger


-Espen

Re: Aurora

InnleggSkrevet: 12 Jun 2013, 08:49
superrune
Det ser nydelig ut! Hvor lang tid tok dette bildet å rendre?

Og takk for lenkene til de forskjellige programmerings-kursene. Jeg ser også igjennom dem :D

Re: Aurora

InnleggSkrevet: 13 Jun 2013, 02:42
nordahl
Lookdev-testen over tok en 5-6 minutter å få støy-fri i 512x512. Det er progressiv oppdatering, så ting ser ok ut etter 5-10 sekunder, og om jeg går ned til 0-1 light bounce er det relativt interaktivt med en så liten asset.

Dette er på en 1 år gammel standard konfig macbook pro.

Her er en render jeg gjorde i 2k anamorphic (1920x800, skalert ned her for å holde fila under 300k):
3h 21m 35sec rendertid.
5.5 mill polys.
8 light bounces
dyret.09.jpg
dyret.09.jpg (274.44 KiB) Vist 9218 ganger


Og her er hvordan den ser ut om jeg kansellerer etter 50 sekunder:
dyret.10.jpg
dyret.10.jpg (280.59 KiB) Vist 9115 ganger


-Espen

Re: Aurora

InnleggSkrevet: 18 Jun 2013, 22:37
nordahl
En liten oppdatering før jeg skal ut å reise i et par mnder, og sannsynligvis har lite tid til å tukle med Aurora:

Jeg satt opp en enkel comp, og har begynt å teksturere noen av materialene. Foreløpig er alt texture bombing av midlertidige maps - planen er å se hvor jeg kan komme unna med å bare forbedre disse teksturene, og hvilke objekter hvor jeg må inn å uv mappe og tegne konkrete maps.

dyret.11.jpg
dyret.11.jpg (261.3 KiB) Vist 9248 ganger


-Espen

Re: Aurora

InnleggSkrevet: 20 Jun 2013, 20:02
Dano
Respekt! Veldig imponerende!

Re: Aurora

InnleggSkrevet: 21 Jun 2013, 15:03
Korhon
Uberfett! Så utrolig kudos! ;)

Gjør du noe lureri for å ungå crazy samlples i bounce ved veldig intense områder? Ser veldig bra ut alt sammen!

Re: Aurora

InnleggSkrevet: 21 Jun 2013, 23:07
bonsak
Jøss. Dette ser veldig bra ut. Gleder meg til flere oppdateringer.

-b

Re: Aurora

InnleggSkrevet: 21 Jun 2013, 23:32
nordahl
Takker :)

Christian: Aurora er (for øyeblikket) en veldig standard unbiased (med et valgfritt unntak, se under) forward path tracer. Dette er den mest vanlige gruppen path/ray tracere, og disse trenger generelt 4-5000 samples per pixel for å "converge" (gi et støyfritt resultat) middels+ vanskelige scener.

Det er noen grupper scenarioer som er vanskeligere enn andre:
- "Direct lighting" converger raskt uavhengig av lysintensitet via Multiple Importance Sampling. (http://www.espennordahl.blogspot.co.nz/2012/08/mis.html)

- Bounces i "normale" lysomgivelser balanserer lyse/reflektive overflater mot mørke (som trenger mindre samples) via Russian Roulette. I praksis betyr dette også at antall bounces øker rendertiden logaritmisk, som også er kjekt.

- Caustics (diffuse overflater ved siden av glossy) er usannsynlig trege til å converge, fordi de er områder med høy lysintensitet som ikke kan importance samples. Enginene som brukes i bransjen i dag har alle mulige cheats hvor de enten dropper dem helt, eller har spesielle settings for disse. Jeg liker en veldig generell cheat her, hvor det ikke er en haug vanskelige settings som kan gi artifacts, og du ikke mister energi men heller "blurrer" resultatet så det ikke lider så mye av å ikke kunne importance samples (http://www.espennordahl.blogspot.co.nz/ ... /bias.html)

- Det andre scenarioet en forward path tracer er elendig på er "The open door problem" - scenarioer hvor majoriteten av lyskilder ikke er direkte synlig for overflatene i første bounce. En annen versjon av dette er f eks en cornell box hvor du snur lyskilden på hodet, så du har kun ett lys som er et par cm fra taket og lyser rett opp. Disse tar lang tid av samme grunn som caustics, da hovedmengden lys kommer fra kilder som ikke kan importance samples.

Standarmåten å løse dette på i litteratur og i noen arch-vis engines er å bruke bidirectional path tracing sammen med Metropolis sampling. Uten å gå inn i detaljer fungerer dette veldig godt for situasjonene som er vanskelige over, men har en haug med andre problemer som gjør det vanskelig å bruke effektivt i vfx.

Selv om det er hundrevis av papers på ray tracing og annen form for rendering kommer 90% av teorien som brukes i moderne ray tracere - og alt jeg har nevnt her - fra samme paper av Erich Veach i 1997: http://graphics.stanford.edu/papers/veach_thesis/

Selv har jeg enorm tro på en ny stil unbiased path tracing de kaller "Vertex Connection and Merging", som bruker bi directional path tracing sammen med progressive photon mapping for å få det beste av to verdener og fortsatt være unbiased. Det er jeg ikke alene om, da disse gutta ble head hunta direkte inn i vfx-bransjen etter paperet kom ut, så vi kan forvente å se produksjons-engines som bruker denne algoritmen relativt snart. Planen er å implementere dette for Aurora når jeg kaller kjøkkenscena ferdig: http://cgg.mff.cuni.cz/~jaroslav/papers/2012-vcm/

Beklager uber-reply - det var et generelt spørsmål og jeg liker å prate om dette :P

-Espen

Re: Aurora

InnleggSkrevet: 22 Jun 2013, 20:08
Korhon
VCM høres veeldig spennende ut:) må sende link til sidefx og be de implementere:D
Veldig kul den caustics bluren din og, tipper den funker bra i veldig mange tilfeller! Spennende å se utviklingen av raytracers. Bruker mantra pbr hver dag og det er digg å bare kaste ut rays:p men får ofte issues med crazy samples og må clampe intensity på stuff. Vil VCM være en flickree løsning med tanke på at den bruker photonmaps? Fikk ikke sett på papern, men jeg hadde ikke skjønnt noe selv om jeg hadde:D kult å lese om texture bombinga dere brukee på weta og:) må få inn det i ubershadern vår.

Re: Aurora

InnleggSkrevet: 22 Jun 2013, 22:02
nordahl
I hovedtrekk er det fortsatt path tracing, så generelle scener som en cornell box vil neppe bli støyfrie på kortere tid - de blir nok heller noen få % tregere. Teorien er at VCM vil trekke de vanskelige scenarioene for forward path tracing (caustics og andre områder med mye energi som ikke kan importance samples) ned til omtrent samme mengde samples som alt annet. Vi får se hvordan det holder opp på produksjons-nivå.

Ja, triplanar er veldig kjekt. Her er basen for en annen teknikk vi også bruker mye for bombing, spesielt når vi trenger at generelle teksturer aligner med en flow (trær, sanddyner, lekkasjer/annet søl, børsta metall osv): http://http.developer.nvidia.com/GPUGem ... _ch20.html

-Espen

Re: Aurora

InnleggSkrevet: 27 Jul 2013, 18:26
nordahl
Jeg har ikke hatt noe tid til kjøkkenscena, men fikk lagt til støtte for normal maps på flyet fra Siggraph. Er tilbake i Oslo om et par uker, da blir det nok mer tid til Aurora.

dyret.12.jpg
dyret.12.jpg (81.58 KiB) Vist 7937 ganger


-Espen