KULT Underground

una della più "antiche" e-zine italiane – attiva dal 1994

Titanic – Un oceano di bit

7 min read

Titanic – Un oceano di bit
Navigando su Internet, spesso ci si può imbattere in articoli1 che solo in un primo momento possono sembrare tecnocrati2, ma che in realtà raccontano di passioni di uomini, che dalla fredda tecnologia riescono ad estrarre quello di cui oggi più abbiamo bisogno: i sogni, signori.

Come diavolo hanno fatto? Semplice chiedetelo a Daryll Strauss29. Questa è certamente una risposta a tutte quelle bocche aperte, a quegli occhi sgranati a quei sospiri che si sentono3, a quelle domande che ci ronzavano per il capo. Quanto è costato tutto ciò? 400.000.000.000 di lire? Ho finito lo schermo… mi ci vuole un 17" presto…
Ma chi è Daryll Strauss? È un ingegnere software della Digital Domain28, esperto programmatore di sistemi Unix da ben 15 anni, che, però, si divertiva di più creando computer grafica. Ha speso gli ultimi cinque anni creando famosi effetti speciali per l’industria cinematografica. La Digital Domain4, infatti, è uno studio di produzione di servizi avanzati che ha creato gli effetti speciali per molti film5 e spot pubblicitari oltre che per applicazioni multimediali. Per il film Titanic8, la Digital Domain ha prodotto uno smisurato numero di effetti9 visivi che erano necessari per rendere il film quello che è. La storia la conoscete tutti: ne abbiamo parlato tra l’altro anche nella sezione cinema, per cui sorvoliamo. Il compito non è stato dei più semplici. Per creare molti degli effetti digitali del film, i tecnici hanno compiuto un processo di digitalizzazione dei fotogrammi della scena10. Ogni taglio o scena corrispondeva così ad una serie di directory , ognuna delle quali conteneva un elemento11, l’unione di questi elementi costituivano quindi l’intera scena. Pensate bene ogni fotogramma era un file immagazzinato in un server centrale12. Successivamente un tecnico13 iniziava a lavorare sul singolo fotogramma della scena e il suo lavoro poteva così originare nuovi elementi14 o la modifica di elementi esistenti15 o ancora isolare aree di interesse della pellicola originale. Questo lavoro veniva svolto nella postazione del tecnico16. Una volta fatto questo, il lavoro era ripetuto per ogni fotogramma della scena. Questo processo ripetitivo era eseguito da tutte le CPU disponibili17 alla DD e richiedeva un file system distribuito e una visione uniforme dei dati. Un obiettivo di questa elaborazione era quella di rimanere il più possibile indipendenti dalla piattaforma informatica usata quando possibile. Infine, quando tutti gli elementi furono creati, l’immagine finale era composta. Durante questo passaggio, i singoli elementi venivano ricolorati18 per far sì che si accostassero in maniera naturale agli elementi presenti esistevano nella scena originale, per creare l’immagine finale. Ancora una volta, il lavoro di composizione veniva fatto dalle SGI e poi il processo ripetitivo veniva eseguito dai computer della DD. E siccome ricostruire il modello a scala piena del Titanic sarebbe stato proibitivamente costoso, solo una porzione della nave fu costruita19, fu utilizzato un modellino per il resto delle scene. A questo modellino furono aggiunti altri elementi della scena come l’oceano, le PERSONE, gli uccelli, il fumo e altri dettagli per far sì che il modellino apparisse attraccato, che stese navigando o affondando nell’oceano. A questo fine costruirono un modello 3D e fotografarono elementi 2D per simulare la fotografia subacquea, terrena e aerea.
Durante il lavoro al Titanic furono impiegati approssimativamente 350 computer SGI, 200 computer DEC Alpha e 5 terabytes di memoria di dischi fissi, tutti collegati da una rete a 100Mbps.
Per scegliere quali computer adottare per il processo di elaborazione fu fatta un’accurata analisi dei sistemi di sviluppo: in una prima fase gli artisti digitali avrebbero utilizzato le workstation interattive sfruttando pacchetti software sofisticati e hardware specifico altamente performante. Nella seconda fase il lavoro sarebbe stato elaborato in maniera automatica su più piattaforme possibili per aumentare l’interattività del lavoro. La scelta per la seconda fase ricadde su i computer con CPU DEC Alpha, che offrivano il miglior rapporto costo/performance e che se collegati opportunamente potevano lavorare con una grande quantità e flussi di dati. L’altra scelta fu quella del sistema operativo: quale tra Windows NT, DEC UNIX e Linux avrebbe governato una mole di dati enorme? Con grande dispiacere di zio Bill non fu scelto il Windows NT; erano tanti i problemi21 ai quali si sarebbe dovuto far fronte. E far fronte a questi problemi voleva dire perdere denaro, ma soprattutto tempo. Il DEC23 UNIX si comportava bene nella struttura22. La grande limitazione però fu quella della mancanza di flessibilità e dei costi elevati. Si sarebbe speso molto tempo per la singola configurazione di tutte le macchine; inoltre questo tipo di UNIX mancava di alcune estensioni24 di cui l’équipe della DD necessitava e non potevano essere create in breve tempo. Si decise quindi di adottare il LINUX. Fu usato anche in emulazione Digital Unix, constatando che le prestazioni che si ottenevano soddisfacevano pienamente il team di sviluppo. Ma anche qui c’era un lato negativo: bisognava dedicare un team di ingegneri che strutturassero e controllassero le macchine per farle funzionare al meglio. Ma anche questo fu fatto (dall’autore e da altri ingegneri), riuscendo a provare diversi pacchetti di software per verificare la compatibilità piena con tutte le macchine che montavano LINUX. Furono comprati, configurati e collegati25 con una rete da 100Mbps Ethernet 160 DEC Alpha da 433MHz (105 che lavoravano in LINUX e 55 in NT). E una volta configurati furono stipati in quella stanza26 e collegati ad un monitor centrale, un mouse ed una tastiera in modo che un singolo operatore seduto nel mezzo della stanza potesse lavorare alla console di qualsiasi macchina contenuta nella stanza. Una volta predisposte le macchina s’iniziò il lavoro di renderizzazione: la prima parte da fare era quella di simulare e renderizzare gli elementi acquatici. Questi lavori costarono la bellezza di 45 minuti e generarono parecchie centinaia di megabyte di dati di immagini che furono memorizzati nei server centrali. I dati intermedi invece venivano salvati negli hard-disk SCSI locali degli Alpha. La potenza di elaborazione dei DEC Alpha era 3.5 volte più veloce dei vecchi sistemi SGI che si trovavano alla DD. Il lavoro seguente consisteva nella composizione delle immagini. Questo lavoro era molto legato alla lettura e scrittura di dati, perché i dati nel server centrale dovevano essere combinati con quelli sparsi nei vari hard-disk della DD. Ma anche questo lavoro venne seguito con il doppio della velocità alla quale erano abituati alla DD. Così tra l’inizio di giugno e la fine di agosto, i sistemi Alpha Linux elaborarono più di trecento migliaia di fotogrammi. Il sistema era in funzione 24 ore al giorno, sette giorni a settimana. Le macchine, quelle poche volte che venivano spente, non lo erano a lungo e ,comunque, molte delle macchine rimanevano consecutivamente accese per più di un mese. Non fu però tutto rose e fiori. A parte alcuni piccoli problemi di configurazione27 ci fu un errore serio dovuto ad un calcolo a virgola mobile che causo il processo di renderizzazione dell’acqua di "affondare" originando un "floating-point exception". Ben presto, i tecnici scoprirono che il codice del Kernel degli Alpha, precedente la release 2.0.31 -pre5 e 2.1.43, non riusciva a controllare alcune istruzioni a virgola mobile presenti nell’applicazione di renderizzazione: appena la situazione si presentò, saltò fuori l’errore. Una volta messo a posto il lavoro di renderizzazione riprese, continuando nel migliore dei modi.
Bene, adesso anche voi avete un’idea di come una piccola parte dei 400.000.000.000 di lire sia stata spesa. Ora che siamo stati messi al corrente di come il Titanic abbia potuto risolcare il mare sugli schermi di tutto il mondo, non crediate che sia finita qua. Preparatevi ad immergervi con il regista nelle fredde acque che seppellirono il Titanic… anche con noi il mese prossimo.

Giovanni Strammiello

1
le informazioni che troverete qui provengono da "Linux Helps Bring Titanic To Life", articolo scritto da Daryll Strauss, trovato su Internet all’indirizzo http://www.ssc.com/lj/issue46/2494.html

2
quello di cui spesso vengo accusato di essere…

3
a no… quella è colpa dei genitori del "bel" DiCaprio

4
situata in Venice – California

5
Pensate a Intervista col vampiro, True Lies6, Apollo 13, Dante’s Peak7 e Il quinto elemento, e capirete cosa intendo

6
toh, J. Cameron anche qui?

7
toh, la moglie di J. Cameron, Linda Hamilton, recitava in questo film…

8
scritto e diretto da James Cameron

9
anche alcune espressioni facciali per DiCaprio erano merito della DD?

10
ripresa con i classici strumenti cinematografici – la cinepresa solita…

11
fotogramma

12
che sarà stato sicuramente titanico

13
sarebbe meglio definire un’artista digitale?

14
come l’animazione o la renderizzazione di modelli 3D

15
come il dipingere un filo, nascondendolo agli occhi del pubblico

16
che usava solitamente una workstation SGI o NT

17
lavorando in parallelo

18
oltre che posizionati correttamente

19
dallo staff di produzione20

20
più quella in Nuovo Messico, nella facility acquistata dalla 20THFOX, grande in scala 1:10

21
portare i tools dalle workstation SGI a quelle NT era il più piccolo dei problemi; altre erano le limitazioni che impedivano l’architettura di memorizzazione dei dati distribuita, che era lo scopo principale della DD

22
te lo credo utilizzavano computer DEC…

23
fatto da Digital

24
(un problema di questo tipo era la mancanza di possibilità di comunicazione con due server NT, la connessione con due varietà inusuali di due lettori magnetici e permettere ad un grande numero di singoli utenti di lavorare su di una singolo sistema)

25
ai computer già presenti alla DD

26
vedi foto

27
dovuti a release di software diversi

28
http://www.d2.com

29
daryll@d2.com

Commenta