MTD: Per Christensen, Pixar Animation Studios

· 612 ord · 3 minut(er) att läsa

Växte upp i Danmark. Civilingenjör vid Danmarks tekniska universitet. PhD från University of Washington. På Pixar fyra år.

Pixar och filmerna 🔗

Grundat 1986. 700 anställda, konstnärer (artists) och programmerare. Huvudkontor i Emeryville, Kalifornien. En mindre programvaruutvecklingsgrupp i Seattle.

  • Toy Story (första helt datorgenererade filmen)
  • A Bugs Life
  • Toy Story 2
  • Monsters, Inc.
  • Finding Nemo
  • The Incredibles
  • Cars (2006), alla roller är bilar. Med kroppsspråk och uttryck.

Making a movie 🔗

  • Story development (storyboards för hand)
  • Layout, timing (tid för olika scener, inspelning av röster)
  • Modeling (stor detaljrikedom)
  • Animation, simulation (ansiktsanimering för att passa rösterna. Simulering för kläder, hår etc. )
  • Shading (texturer på objekt), lighting (placering, storlek och färg på ljus)
  • Rendering

Rendering

Indata:

  • objekt: form, ytegenskaper, texturer
  • ljuskällor
  • kamera

100-tals lampor, tusentals teturrer (får inte plats i minnet), tiotusentals objekts, hundra miljoner polygoner (för många för att få plats med), programmable shading

2000 pixlar breda bilder. Motion-blur behövs för att efterlikna vanliga kameror, depth-of-field viktigt för att fånga uppmärksamhet på det man berättar, ingen aliasing.

RenderMan 🔗

Används i alla Pixar-filmer men även av andra bolag. I The Abyss, Terminator 2, Jurassic Park, The Lord of the Rings, Harry Potter 1 och 2, Star Wars I-III.

Väldigt robust och flexibel, har funnits i 15 år. Man kan se på kodstilen om den är femton år gammal. Kan hantera komplexa scener. De facto-standard i industrin. Gjord med C och C++, 500 000 rader kod. Använder scanline-rendering me nu även raytracing och global illumination.

Objekt -> surface patches -> quads (micropolygons). Beräkna en färg för varje mikropolygon. Scan-line-rendering behöver inte bry sig om andra delar av bilden. Är snabbt, behöver bara en liten del av objekt och texturer. Problem med shadow maps (begr. upplösning) och reflection maps (klarar inte interreflections).

Recent research 🔗

Utökat RenderMan med raytracing [Whitted 1980] och global illumination under de senaste 2-3 åren.

Raytracing ger skarpa skuggor, mjuka skuggor, spegelreflektioner och självreflektioner (samma objekt). Nackdelar: behöver alla objekt och texturer hela tiden. Går inte att använda med väldigt komplexa scener.

Kombinera fördelarna med ray tracing och scanline. Avgöra vilka strålar som behöver hög precision. [Igehy 1999] hålla reda på strålen och grannstrålar. Ray differentials för att avgöra hur små mikropolygonerna behöver vara. Innebär att man kan rendera scener 100 gånger större än cachen.

Cache används för att snabba upp beräkningen. 240 miljoner polygoner, 80 miljoner stålar. Från 4 dagar (ingen cache) till 11 timmar (single resolution cache) till 6 timmar (multi resolution cache, helt okej beräkningstid).

Global illumination. Även andra objekt avger ljus (indirekt), inte bara ljuskällor. Målet är global illumination med filmkvalitet som hanterar komplexa scener. Finit elementmetod: radiosity. Monte Carlo-simulation: distribution ray tracing, path tracing, bi-directional path tracing, photon mapping [Jensen 1996].

Har valt en utökad photon mapping. Väldigt generell och flexibel, hantera alla typer av reflektion och geometri. Relativt snabb. Kan inte hantera fler fotoner än vad som får plats i minnet. Utökningen kallas brick-map och använder en 3D MIP-map-representation av volymdata. Kan användas för ytor eller volymer. Information om fotoners träff på objekt sparas i photon maps, en samling photon maps kallas photon atlas. Belysningen beräknas genom att summera antalet fotoner och dela med ytans area.

Mer information:

Bok: Advanced RenderMan

Ray differentials and multiresoulution geometry caching for distr… Eurographics 2003

An irradiance atlas for global illumination in complex production scenes, Eurographics 2004.

RenderMan har en releasecykel på 6 månader. Den senaste releasen kom förra veckan och innehöll mest uppsnabbningar, raytracing tre gånger snabbare. Funderar nu över innehållet i nästa release, antagligen ytterligar uppsnabbningar för raytracing. Håller sig ajour med forskningen inom datorgrafik.

Sju utvecklare arbetar med programmet. Utvecklingen drivs av externa kunder men främst av interna krav, för de egna filmerna.

RenderMans styrka är komplexa scener.