torsdag den 10. november 2011

Grafik i Zürich

Denne post handler ikke så meget om hvad vi oplever her i Zürich men mere om hvad jeg bruger min tid på hernede. Jeg har fået flere spørgsmål og jeg tænkte jeg ville vise lidt af det jeg får lavet hernede.

Jeg arbejder på at lære noget grundlæggende om computer-grafik. Her er der basalt set to store grene - ting der skal kunne foregå interaktivt, og ting der godt må tage lidt længere tid end man kan klare på 60 gange i sekundet. Indtil videre har jeg primært fokuseret på den anden del og kigger på det der hedder "Fysisk baseret rendering", dvs. prøve og lave billeder udfra fysiske principper. De første par uger brugte jeg på at kode min egen raytracer ved hjælp af bogen Realistic ray tracing (Shirley, Morley). Det var meget interessant og jeg startede helt fra bunden i en mappe uden filer og fik kodet min raytracer.

Her er én af de første billeder jeg fik lavet med min egen ray tracer
En af de første billeder min ray tracer lavede. Måden lyset beregnes på her er meget simpel. Man kan se at baggrunden gradvist bliver utydeligt - det er bevist og skulle efterligne dybde-skarphed. Billedet her er lidt "groft" - der er ikke blevet skudt så mange rays så kvaliteten af dybde-skarpheden er ikke så god.





Da jeg blev færdig med Realistic Ray tracing gik jeg I gang med et monster af en bog: "Physically Based Rendering". Bogen indeholder en komplet implementation af en ray tracer der forsøger at være så fysisk korrekt som muligt. Som eksempel, repræsenterer den ikke farver ved rød, grøn og blå, som er normalt i computere, men som intensiteter ved forskellige bølgelængder. Indenfor den ramme kan jeg så lave mine egne tilføjelser - enten ting jeg selv finder på eller opgaver i bogen. En af de første ting jeg lavede var så man kunne lave hår - her er et billede lavet ved hjælp af min kode for at tegne hår (det er kun selve hårene - den måde håret skal farvelægges på har jeg ikke lavet rigtigt endnu)


Jeg har også brugt min tid på at lave en figur til en artikel Ole Søe Sørensen og jeg arbejder på (egentlig er det mest Ole der arbejder på den p.t.)

Et andet af mine projekter bestod i at prøve og lave realistiske sæbe-bobler. Sæbe-bobler får deres farve fordi boblens overflade er meget tynd. Når lyset kommer ind bliver det reflekteret i det yderste af overfladen på boblen, men også på indersiden af boblens overflade. Fordi de to lys-stråler rejser over forskellige afstande blander de, og det giver anledning til de farver man ser. Her er en digital sæbe-boble!


Mit seneste projekt var at lave displacement-mapping. Dvs. man har en 3d-figur man gerne vil deformere med et højde-kort. Her er et eksempel på en deformation af en kugle med et højdekort over jordkloden (fra NASA Blue Marble)

En globus. Farvekortet skulle gerne svare til vejret vi har for tiden - dvs. NASAs Blue Marble billede fra November 2004.

2 kommentarer:

  1. Det ser fedt ud Søren! Et teknisk spørgsmål: Hvor lang tid tager det for computeren at beregne disse billeder.

    SvarSlet
  2. Tak Jakob - det afhænger meget af de forskellige billeder. Håret tog rimelig lang tid så vidt jeg husker, men sæbeboblen og jordkloden ikke tager mere end 1 minut til 10 minutter. Det afhænger også meget af hvor god lys-sætningen skal være (det blev der f.eks. gjort noget ud af på jordklode-billedet).

    SvarSlet