Shrek 3 ve Linux
Kültür YaşamDreamWorks Animation CG film yapımının sınırlarını Linux ile zorluyor.
Tüm büyük film stüdyoları animasyon ve görsel efektler için Linux kullanmakta. Belkide hiçbir ticari Linux kurulumu DreamWorks Animation’ın 1000 Linux masaüstü ve 3000’den fazla sunucu CPU’su kadar büyüklükte olmamıştır.
DreamWorks Animation CTO’su Ed Leonard, “Shrek-3 filmi yapımında, yaklaşık 20 milyon CPU render saati harcayacağız” diyor. “Her filmimiz imkanlı olanın sınırlarını zorlamaya devam ediyor ve bu daha fazla bilgisayar gücü gerektiriyor”. Herkes Moore’un Kanunu’nun tahminini bilir; işlem gücü her yarım senede bir 2 katına çıkacak. Bunun küçük bir çıkartımı olarak karikatür animsayon CPU render saati her 3 yılda bir 2 katına çıktı. 2001 yılında orijinal Shrek filmi yaklaşık 5 milyon CPU render saati kullandı. 2004’te Shrek-2 10 milyon render saatinden daha fazlasını kullandı. Şimdi 2007’de, Shrek-3 20 milyondan fazla CPU render saati kullanıyor.
“Herhangi bir zamanda, bir düzineden fazla film üzerinde çalışıyoruz” diyor Leonard. “Bu filmlerden her biri CG film yapımının sınırlarını zorlama isteğine sahipler.” DreamWorks Animation 2/3’ü Glendale stüdyolarında, geri kalanı Redwood City’deki PDI stüdyolarında olmak üzere yaklaşık 1200 çalışana sahip ve iki stüdyo birbirne 2Gb ağla bağlı. (Şunu hatırlatmak gerekirse, DreamWorks Animation Jeffrey Katzenberg tarafından kurulan halka açık bir ticaret şirketidir, Steven Spielberg’in yakın zamanda Paramount ile birleşen Dreamworks’ü ile bir bağlantısı yoktur.)
“Filmde saçlar, giyisiler, kostüm ve kalabalık gibi konularda bir çok belirli teknik gelişme var.” diyor Leonard. Shrek-3 için PDI’de 300 ve Glendale’de 50 olmak üzere 350 insan çalışmakta.
Ahenkle Dans Eden Saçlar ve Uzun Elbise İçinde Koşu
Shrek-3’te Fiona çok çok uzaktaki bir krallıktan Prens Charming’in kaçırma olayından sonra “beni kurtarın” edasındaki peri masalı kisvesine bürünüyor. Uyuyan güzelin narkolopsisini bir silaha dönüştürmek ya da nazik Pamuk Prensesi kötü adamlarla dövüşebilen biri haline getirmek teknik engellerle karşılaştırıldığında oldukça basit kalıyor.
“DreamWorks Animation R&D, dünya klasiği CG filmleri için araç,kütüphane ve yazılım desteğini sağlıyor” diyor Leonard. “Kendi filmlerimiz için bir takım araçlardan oluşan yazılım paketleri hazırayıp , destek veriyoruz. Bu paketin içinde hususi bir animasyon sistemi, aydınlatma,render etme, araçların birleştirilmesi ve ateş,su,giyim ve kalabalık gibi bir kaçını sayabileceğimiz efektler var.” Leonard daha çok C ve C++ ile yazılan bir kaç milyon satır koda sahip olduklarını tahmin ediyor.
Andrew Pearce PDI’de bulunan DreamWorks Animation R&D grubunu yönetmekte. “Uzun saç Shrek-3’teki belki de en gelişmiş teknolojidir” diyor Pearce. “Geçmişte gördüğünüz tüm animasyonlarda çok az uzun saç bulunmaktadır. Shrek- 2’deki ‘kahraman-saç’ vuruşunu yapmak aylar sürmüştü” diyor Görsel Efekt Danışmanı Philippe Gluckman. “Shrek-3’te her yerde saç var.” Saçın omuzlardan aşağı süzülerek kayıp gitmesi kolay görünür fakat modelleme için son derece zordur. Animatörlerin saçın her şeklini elle tasarlamak için yeterli zamanı yok.
“Elbise içinse yırtılması gibi daha fazla etkileşime sahibiz” diyor Pearce. “Hızlı animasyon her zaman zor olmuştur. Gerçek hayatta, hareket edebildiğiniz kadar hızlısınızdır, fakat animatörlerimize bunu kimse belirtmiyor. Eğer 0’dan 5 mph’ye bir saniye içerisinde çıkarsanız, muhtemelen bazı elbiseleri geride bırakırsınız”. Animasyon gerçekliği, sanat olduğu kadar da fiziktir.
Bir fotoğraf olan bu örnekte karakterlerin saç tasarımındaki büyüleyici detaylar hakkıyla gösterilemiyor ne yazık ki.
Bu Ne Kalabalık
“Animasyonda sadece giyisiler için uğraşmıyoruz. Aynı kare içerisinde çok daha fazla karakter var”, diye belirtiyor Shrek- 3’ün yardımcı yönetmeni Raman Hui. “Shrek-3 48 karakterli dev bir kadro”, diyor Shrek-3 yönetmeni Chris Miller. “Bir bölümde 40-50 karakterli bir kalabalık ve 2500 izleyici var.” “Kalabalıktaki zorlayıcı husus her karakterin farklı görünmesi gerektiğidir” diye ekliyor Pearce.
“Eğer her karakter için ayrı bir yapılandırma yaparsak bu çok uzun sürer” sözleri ise Karakter TD Danışmanı Lucia Modest’ya ait. “Genel bir karakter aldık ve bu karakteri çarpıttık. Bir A adamımız, bir B adamımız ve bir kadınımız var. Kalabalıktaki bir sahnedeki büyük değişim(varyasyon) saçın şapka üstündeki silüeti oldu. Shrek’teki karakterlerde, 3 varyasyonlu bir genel adamımız vardı, bu da 16 yapar. Kadınlarda ise 5 ila 25 arasında varyasyon ve 13 farklı saç stili vardı.” Shrek gibi bilinen karakterleri değiştirmeden daha iyi görünmeleri sağlamak için büyük işler yapıldı.
İşte Evrensel Aydınlatma
“Evrensel aydınlatma heryere aşk saçmak gibi bir şey” diyor Pearce. “Bu ışığın tüm yüzeylerde sıçraması demek.” Evrensel aydınlatma -ışın kopyalanması gibi- pahalı olabiliyor. “Aydınlatmanın sabit ve tek bina üstüne olduğu zaman işler daha kolay oluyor.” diyor Pearce. “Shrek-3’teki tüm problemimiz hareketti”. DreamWorks yazılımı zamanın başında neyin hareket etmediğini algılıyor ve hareket eden bölümlerde işini en etkili şekilde yapmaya çalışıyor. ” Evrensel aydınlatma Shrek-3’te hemen hemen her sahnede var” diye ekliyor Pearce. “Orman örneklerinde olduğu gibi sahne karmaşıklığı bizi zorlayan şey. Işın kopyalama bu durumda pek makul değil.” Linux hesaplama gücündeki ilerleme ve çok çekirdekli çipler ve yazılımlar render kabiliyetlerini çok çok yükseğe taşıyorlar.
“Biz evrensel aydınlatmayı bir PD’nin yaptığı gibi kullandık” diyor Sanat Bölümü Üretim Tasarımcısı Guillaume Aretos.” Sıçrama kartları ve renklendirilmiş sıçrama kartları kullandık. Film yapım aşaması sıçrayan ışığı kullandığımız sahnelerde gerçek aksiyona çok yakındı. Sıçrayan geri ışıkla bir kaplama efekti ve kara bulutlar içinden parlayan ışık bizim için çok zor”.
“Ben mizanpajın başındayım” diyor Nick Walter, “bu da beni DP yapıyor.” Mizanpaj sanal aktörlerin sanal setteki yerlerini belirleyen gruptur. “Shrek 7 feet yüksekliğinde ve güdük bir şey” diyor Walker. “Shrek hareket ederken bir öpücük için Fiona’nın kafasını yutabilir. Çizmeli Kedi ve Eşek farklı boydaki iki farklı arkadaş. Bu ikiliyi aynı karede yakalamak oldukça güç.”
Shrek 3 Linux Rotası
<p>
Bu iş önce hikayeden başlıyor, daha sonra 3B modelleme ve ardından render kısmı yapılıyor. DreamWorks Animation 3B modelleme için popüler Linux Maya ticari paketini kullanıyor. Karakterlerin yerleşim düzenleri belirleniyor ve genel aydınlatma tanımlanıyor. Modeller Karakter TD’leri tarafından dahili iskeletler tarafından donatılıyor, daha sonra sahne animatörlerine veriliyorlar. Karmaşıklıktan dolayı, Shrek-3 animatörleri yüzlerce sahneden giyim veya alev gibi bölüm bölüm paylaşım yapıyorlar. Sonra, sahne 3000 işlemcili Linux render çiftliğinde kare kare render ediliyor.
</p>
<p style="text-align: center">
<p align="center">
Hikaye bölümü: Hikaye sanatçısının sahneyi tasvir etmesi.
</p>
<p>
Her kare grid yazılımı (ticari bir Linux paketi olan LSF Platformu kullanılarak) tarafından ayrı bir düğüme (node) atanıyor. Böylelikle birden fazla kare aynı anda işlenebiliyor. Kareler filme dahil ediliyor, bu aşamada Avid yazılımı (linux değil) kullanılıyor. İşlemin başlarında, el yapımı hikaye çizimleri taranıyor ve filmin kaba bir sunumu olacak şekilde ses eklenerek düzenleniyor. Her seri tamamlandığında , bu kaba hikaye bölümünün yerini alıyor. Böylece tamamiyle render edilmiş film sahneleri ortaya çıkıyor.
</p>
<p align="center">
<p style="text-align: center">
<p align="center">
Yerleşim Düzeni: Yerleşim düzeni sanatçısı kamera bloklarını ve karakter vaziyetlerini ayarlıyor.
</p>
<p>
“Gerçek şu ki bizim Linux üzerinde olan ana üretim rotamız oldukça ilginç” diyor Üretim Teknoloji şefi Darin Grant. “Yıllardır Linux üzerinde çalışmaktayız ancak ben hala şaşkınım. Geriye dönüp bakınca, <em>Titanik</em> zamanında Digital Domain için render çiftliği olarak Linux kullanma kavramı oldukça radikaldi, tüm sektörün samimiyetle uyum sağlaması çok uzun zaman önce olmadı.” Grant resmi olarak çalıştığı Digital Domain’de <em>Titanic</em> için (1997’de gösterimde girdi) ilk Linux render çiftliğini kurdu. Grant şu anda Kuzey Kaliforniyadaki PDI Dreamworks tesislerinde çalışıyor ve karşılıklı olarak çalışan takımların uyum içinde olduklarından emin olmak için Glendale ile her hafta mübadele ediyor. Kendisi aynı zamanda Dreamworsk’ün geliştirdiği ve HP’nin piyasaya Halo odası olarak soktuğu, üç boyutlu telekonferans sistemi olan VSC kullanıyor.
</p>
<p style="text-align: center">
<p align="center">
Animasyon: bu adımda animatörler sahne için karakterlerin oyunculuklarını oluşturuyorlar
</p>
<p>
“Bu durumda Linux tabanlı rota ile çalışmak diğer büyük herhangi bir işletim sistemi ile çalışmak ile aynı” diyor Grant. “Stüdyoyu tek bir standart rota üstünde birleştirdik, artık tüm prodüksiyonlarımızı bu rota üstünde yapıyoruz. Her prodüksiyon için farklı şekiller üstünde duruluyor, zorlanıyor ve bu rota üstünde geliştiriliyor. Linux bize bir çok yoldan avantaj sağlıyor. Threading için kesiksiz destek, NFS ve LAMP bizim için büyük artılar. Geliştiricileri yönetmek, Linux’un ilerleme sağladığı geliştirme araçları ve IDE’ler ile her geçen yıl daha da kolay bir hal alıyor.”
</p>
<p style="text-align: center">
<p align="center">
Aydınlatma: Sahnenin final sürümü için kareye ışıklandırma ve doku ekleniyor.
</p>
<p>
“Masaüstünde , RHEL 4 ile çalışan HP xw9300 çalışma istasyonlarını kullanıyoruz.” diyor Dijital İşlemler şefi Derek Chan. “Render çiftliği HP DL145 G2 sunucuları kullanıyor. Standart bellek kullanımımız her çekirdek için 2 GB. Sunucular 4 çekirdeğe sahip, bu da 8 GB bellek demektir.” Chan, DreamWorks Animaton’ın Red Hat ile iyi bir ilişkisinin olduğunu, DreamWorks için HP çalışma istasyonları üzerinde RHLE’nin çalışması için çok yakın işbirlikleri olduğunu belirtiyor.
</p>
<p style="text-align: center">
<p align="center">
DreamWorks Animation’daki büyük sunucu çiftliği
</p>
<p>
“Shrek 3’te üstesinden geldiğimiz bir zorluk metadatanın rotamızla birleştirilmesi oldu.” diyor Grant. “R&D ve Prodüksiyon Teknolojileri ile karşılıklı ekip çalışmasıyla ürettiğimiz her film için geçmiş sürüm bilgileri, render istatistikleri ve diğer yararlı veriyi saklayacak bir yer oluşturduk. Bu filmleri yapmamızdaki en önemli anahtar etkenlerden biri kendi malımız olan araç takımları ve dosya biçimleri kullanmamızdır”. DreamWorks kendi TIFF benzeri dosya biçimini kullanıyor. Bu biçim 16-bit ikilik sabit nokta, sınırlandırılmış bir Yüksek Dinamik Uzunluk üzerine dayalı.
</p>
<p>
DreamWorks Animation teknoloji üç ana çekirdek gruba ayrılır: R&D yeni teknoloji üretir, Prodüksiyon Teknolojisi prodüksiyon rotasını yönetir ve Dijital İşlemler işleme, ağ ve muhafaza yapılandırmasından sorumludur. Prodüksiyon rotası 200 insanın bir orkestradaki gibi beraber çalışabileceği yüzlerce küçük araç ve applete sahiptir. Bir çok eski rota yazılmı Perl ile kodlanmaktaydı, yenileri ise Python ile kodlanıyor. “Hepimiz Python’u seviyoruz” diyor Leonard. “Ancak hala bir çok perl uygulamamız var.”
</p>
<p>
“Takımımız tesislerde Perl’den Python’a geçişe öncülük etmekte” diyor Grant. “Bunun için 3 ana sebep var. Python bağlayıcılarının bir C++ kütüphanesine oluşturulması çok kolay ve çekirdek R&D kütüphanlerini rotanın geri kalanında çabucacık kullanmamızı sağlıyor. Pyhton’un Nesne Tabanlı doğası sayesinde kıymetli modeller oluşturabiliyor ve bu modeller üzerinde gelecekte rahatlıkla değişiklikler yapabiliyoruz. Ayrıca Python bizim sektörümüzde kullanılan harici uygulamalar içinde bir çok yerde kullanılmakta.”
</p>
<p>
Son olarak 2005 yılında yapılan Linux Filmleri Konferansında, stüdyo teknolojistlerinin ortak görüşü render çiftlikleri kısıtlamasının giderek ısınıyor olmasıydı. DreamWorks Animatin şu an çift-çekirdek kullanıyor ve yakında dört-çekirdek kullanmaya başlayacak. “Önümüzdeki 8 ay içerisinde , masaüstünde sekiz işlemcili çekirdeke geçeceğiz” diyor Chan. Stüdyo GP-GPU ile hızlandırlmış hesapmala ile ilgileniyor. Bu bize render işleminin gece olmasının yerine etkileşimli olma potansiyelini sağlıyor. Ancak, bu konuda korkular var zira bu konu hala çok yabancı ve CPU’ların ve grafik kartları üzerindeki GPU’ların arasındaki bant genişliği sınırları konusunda sıkıntılar var. “Önemli derecede performans artışları olabilir” diyor Chan, “özellikle AMD-bütünleşik GPU’lar kullanabilirsek.”
</p>
<p>
Shrek 3 kendisine ayrılan 30 TB’lik yerin 24TB’lik kısmını kullanmakta. DreamWorks tüm filmlerini yan yana olan dönen disk sırasında tutmayı seviyor. “İnsanlar daima eski filmleri örnek alabiliyorlar” diyor Chan. “Biz üç Shrek filmine sahibiz. <em>Madagaskar</em> sonuca bağlanmak üzere.” Her şey şu an çalışan yapılar üstünde saklansa da , DreamWorks bir veri kaybı ihtimaline karşı, dışarıya birer kopya teyp göndermekte.
</p>
<p>
<strong>Film Sektöründe Neden Daha Fazla Açık-Kaynak-Kodlu Yazılım Kullanılmıyor?</strong>
</p>
<p>
Neden film Stüdyoları milyonlarca satır Linux kodlarından bazılarını açık-kaynak-kod camiasına bağışlamıyorlar? Birçok film stüdyosu kendi Linux video oynatma ve düzenleme yazılımlarına sahipler, bu alandaysa açık-kaynak-kod çok noksan. Verebilirler mi? Günümüzün güvenilmez patent düzeni buna mani değil ancak asıl sorun geliştirme maliyeti. Örneğin ILM OpenEXR resim biçimini beklenildiği gibi açtı. Ancak stüdyolar film yapmakla meşgul.
</p>
<p>
Film sektörü bazen dışarıda açık-kaynak-kodlu yazılımlara sponsor olabiliyor, örneğin 1999’da GIMP’e olduğu gibi. Ne yazık ki, 16 bitlik boya kanalları asla GIMP’in bir parçası olarak yayımlanmadı. Daha sonra ortaya CinePaint isimli (yazarın liderliğini yaptığı) bir program çıktı. Fakat CinePaint’i kullanmaya çalışmak ve Photoshop kullanıcılarını yeniden eğitmek yerine, DreamWorks Animation, Disney ve Pixar CodeWavers’a Windows Photoshopu Linux altında çalıştırmaları için bir miktar desktekde bulundular.
</p>
<p>
<strong>DreamWorks Animation Linux’u Nereye Götürüyor</strong>
</p>
<p>
“CG film yapımı teknoloji ile film yapma sanatının bir araya geldiği yegane platformlardan biri.” diyor Leonard. “Teknoloji, artist vizyonunu işimizde tarihte hiç olmadığı kadar etkin kıldı. Render etme tekniklerine -örneğin ışıkladırmayı daha güzel ve kolay yapmak için evrensel aydınlatma- yoğun olarak yatırım yapmaya devam edeceğiz. Orijinal Shrek filmi hiç evrensel aydınlatma kullanmadı. Shrek-2 çok sınırlı olarak kullandı. Shrek-3 ise filmin bir çok yerinde kullanıyor. Sonuç daha güzel hikayeler sunabilmek için daha güze bir aydınlatma oldu.”
</p>
<p>
“2009 yılının başlarında filmlerimizi doğal 3B-Stereoskopik olarak yayınlayacağız” diyor Leonard. Filmlerimiz en başından itibaren kafadaki 3-B stereo ile başlayacak. Sonuç, sinemalarda yeni bir tecrübe seviyesi olacak.” <em>Monsters vs. Aliens</em> ve <em>How to Train Your Dragon</em> ilk 3-B yeni nesil filmler olacak. Shrek-3’ten itibaren, stüdyo tüm filmleri yeni sistem ile oluşturmak için bir sistem kurdu.
</p>
<p>
DeamWorks Animation tüm Linux şirketlerinden hatta açık-kaynak projelerinden daha fazla Linux geek’ine sahip. Eğer animasyon alanında Linux altında çalışmaya ilginiz varsa , DreamWorks Linux Teknolojisti, Sistem Mimarisi, Yardımcı Sistem Yöneticisi, Yardımcı Sistem Geliştiricisi, Sistem Mühendisi, Animasyon Araçları Yazılım Mühendisi, Çekirdek Kütüphane Yazılım Mühendisi ve Yazılım Mühendis Yöneticisi gibi sahalarda iş teklifleri yapmakta.
</p>
<p>
Kaynak: <a href="https://www.linuxjournal.com/article/9653" target="_blank">https://www.linuxjournal.com/article/9653</a>
</p>