Modellazione e Rendering grafico 3D mini-HOWTO

Dave Jarvis v1.1, 27 March 2001

Dettagli sul download ed istruzioni di installazione per un ambiente di sviluppo grafico di rendering e modellazione usando Linux RedHat. Traduzione a cura di Ivan Baldinotti, ivan_b@inwind.it .

Indice

1 Introduzione 2 1.1 Preambolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Modelling vs. Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Copyright Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Informazioni generali 2 2.1 La Libreria Grafica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Il Modellatore Grafico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 Il Renderizzatore Grafico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Istruzioni di Installazione 3 3.1 Attenzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2 Download del software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.3 Installazione della Libreria Grafica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.4 Installazione del Renderizzatore grafico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.5 Installazione del Modellatore Grafico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.6 Fare Ordine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

4 Informazioni Varie 7 4.1 L’ Illuminazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2 Tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5 Links 7 5.1 Librerie Grafiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.2 Renderizzatori Grafici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.3 Modellatori Grafici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.4 Links Vari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

6 Ringraziamenti 8

1 Introduzione

1.1 Preambolo

Questo documento vi guiderà attraverso i passaggi usati per installare e configurare un ambiente per la modellazione ed il rendering tridimensionale usando Linux. In questa sezione troverete anche informazioni, in termini semplici, circa i componenti richiesti e su come interagiscono tra di loro. La sezione dell’installazione è volutamente minimale; soltanto i minimi passaggi necessari per la preparazione e l’avvio (se non dovesse funzionare, sono disponibili maggiori informazioni). Quelli che vogliono maggiori informazioni sui componenti software e su cosa fanno (in generale), possono continuare a leggere questo howto.

Ci sono, almeno, tre pacchetti software che avrete bisogno di procurarvi ed installare. Sono i seguenti (nell’ordine in cui sono spiegati, non nell’ordine in cui sono installati):

• una libreria grafica;

• un modellatore grafico;

• un renderizzatore grafico.

1.2 Modelling vs. Modeling

Lo spelling modelling è Canadese. Lo spelling modeling è Americano. L’autore originale di questo documento è Canadese. ;-)

1.3 Copyright Information

Copyright \begin{matrix}c \\ ◯ \end{matrix} 2000-2001 Dave Jarvis

This document may be reproduced in whole or in part, without fee, subject to the following restrictions:

• the copyright notice above and this permission notice must be preserved complete on all complete or partial copies;

• any translation or derived work must be approved by the author in writing before distribution;

• if you distribute this work in part, instructions for obtaining the complete version of this manual must be included, and a means for obtaining a complete version provided;

• small portions may be reproduced as illustrations for reviews or quotes in other works without this permission notice if proper citation is given.

2 Informazioni generali

Il contenuto di questa sezione esiste solo per descrivere, in generale, i tre componenti principali richiesti per la modellazione tridimensionale ed il rendering su un sistema basato su Linux.

2.1 La Libreria Grafica

Una libreria grafica consiste dei principali strumenti per la manipolazione di immagini grafiche. Pensate a tutte le cose necessarie per costruire una casa: l’impianto elettrico, l’impianto idraulico, il legno, i mattoni, e tutto il resto. La libreria grafica non deve essere immaginata come le cose elencate, ma piuttosto come gli strumenti usati per creare queste cose. Dopo tutto, i fili elettrici, i tubi di metallo, le assi, ed i mattoni non appaiono magicamente; piuttosto sono essi stessi creati e formati come entità. Allo stesso modo, la grafica non appare magicamente sullo schermo – tipicamente consiste di primitive a basso livello grafico (linee, rettangoli, e pixels individuali, per esempio).

Così la libreria grafica può essere pensata come le primitive a basso livello grafico usate per costruire oggetti più complessi (sfere, parallelepipedi, poligoni complessi, etc.). Questi oggetti complessi sono poi usati per costruire forme e figure più complicate.

La libreria grafica installata era l’implementazione freeware di OpenGL chiamata Mesa.

2.2 Il Modellatore Grafico

Poichè il renderizzatore grafico è, idealmente, completamente nascosto all’utente, ci occuperemo di esso alla fine (in aggiunta a ciò, la modellazione è il logico passo successivo se consideriamo l’analogia con la costruzione della casa). Tuttavia, quando si installa, un modellatore grafico si basa sul renderizzatore già installato.

Se la libreria grafica è simile agli strumenti usati per costruire gli strumenti usati per costruire la casa (!), allora il modellatore grafico può essere pensato come gli strumenti per costruire il progetto della casa – un sofisticato progetto, poichè il modellatore vi permette di scegliere esattamente dove mettere l’impianto elettrico, quello idraulico, i pannelli di legno, i mattoni, e così via. Inoltre, vi permette di scegliere lo stile dei pannelli ed il colore dei mattoni che desiderate.

Il modellatore grafico installato era il pacchetto freeware chiamato The Mops, che produce files RenderMancompatibili.

2.3 Il Renderizzatore Grafico

Continuando con l’analogia della costruzione della casa, il renderizzatore grafico è rappresentato dai costruttori della casa. Una volta che avete il progetto ed i materiali per iniziare, avete bisogno di qualcosa per costruire la casa così come appare nel progetto. Le informazioni sono passate al renderizzatore grafico (per esempio, il progetto nella forma di un file RenderMan-compatibile, o di un equivalente) dal modellatore per produrre il risultato finale.

Così come il modellatore grafico richiede il renderizzatore grafico prima che possa essere installato, il renderizzatore si basa sulle librerie grafiche che sono state installate precedentemente.

Il renderizzatore grafico installato era il Blue Moon Rendering Toolkit che usa i files RenderMan.

3 Istruzioni di Installazione

Tenete a mente che queste sono istruzioni brevi; un riassunto veloce dei maggiori e più importanti dettagli che troverete elencati nei files README dei corrispondenti pacchetti software. Non è, in nessun modo, una sostituzione della lettura di quei files (poichè contengono informazioni di copyright ed altre istruzioni non necessariamente coperte da questo documento).

3.1 Attenzione

Per prima cosa, sappiate che questo documento tratta solamente l’installazione e l’avvio su un sistema che usi RedHat v7.0. Ogni volta che viene lasciata la scelta del pacchetto da scaricare, assicuratevi che sia compatibile con le caratteristiche del sistema Linux sul quale avete intenzione di farlo girare.

Secondo, per piacere mandate E-mail solamente se avete informazioni che potrebbero essere utili ad altre persone che volessero leggere questo documento (come per esempio la spiegazione su come installare altri strumenti, indicazioni di altri tutorials, passaggi grammaticali mancanti e/o errori di spelling e/o di digitazione, etc.). Se il software non si compila, o non riuscite a capirlo, leggete la documentazione allegata. Probabilmente il vostro sistema è completamente diverso, e l’uso di Internet via E-mail non è la soluzione giusta per risolvere i vostri problemi. ;-)

Terzo, questi sono pacchetti software che si installano senza grosse difficoltà. Nella sezione dedicata ai Links, ci sono pacchetti software alternativi vicini a quelli di cui si parla in questo tutorial. Notate che se un pacchetto non è analizzato approfonditamente non significa che sia peggiore (o migliore) di quelli scelti per l’installazione.

Buona Fortuna!

3.2 Download del software

Prima di iniziare, avrete bisogno di un web browser e di una shell per Unix. Se non sapete come si usa una shell [bash, ksh, etc.],sono fatti vostri ( sebbene abbia fornito le istruzioni sia in italiano che in comandi della shell).

Dove non specificato, tutte le istruzioni sono da eseguire come root.

1. Create una nuova directory /usr/local/archives per i pacchetti:

          mkdir /usr/local/archives

2. Scaricate i seguenti pacchetti (nella forma .tar.gz ) nelle nuove directories appena create (sono dati i links alle homepages ed alle pagine di downloading, e alla versione software minima):

• Mesa Graphics Library http://www.mesa3d.org/ v3.4.1:

         www.mesa3d.org/download.html http://www.mesa3d.org/download.html

• Blue Moon Rendering Toolkit http://www.bmrt.org/ v2.6beta:

         www.bmrt.org/BMRTdownload/index.html http://www.bmrt.org/BMRTdownload/index.html
       • The Mops http://www.informatik.uni-rostock.de/~rschultz/mops/ v0.42d:

www.informatik.uni-rostock.de/˜ rschultz/mops/download.html http://www.informatik.

         uni-rostock.de/~rschultz/mops/download.html

3.3 Installazione della Libreria Grafica

Le vecchie versioni di tar non supportano l’argomento z. Se è il caso del vostro sistema, non usate l’argomento z e usate gunzip sul file prima di usare tar.

1. Spostatevi alla directory /usr/local/archives :

          cd /usr/local/archives

2. Estraete Mesa (sostituite il numero di versione dove richiesto):

       tar zxf MesaLib-3.4.1.tar.gz
       tar zxf MesaDemos-3.4.1.tar.gz

3. Spostatevi alla sottodirectory MesaLib :

       cd Mesa-3.4.1

4. Configurate, compilate, ed installate Mesa con la seguente sequenza di comandi:

       ./configure; make; make install

5. Editate il file /etc/ld.so.conf, ed assicuratevi che sia presente una linea come questa:

       /usr/local/lib

6. Fate girare il programma di configurazione della libreria dinamica:

       ldconfig

3.4 Installazione del Renderizzatore grafico

1. Ritornate alla directory /usr/local/archives :

       cd ..

2. Estraete il file Blue Moon Rendering Toolkit (sostituite il numero di versione dove richiesto):

       tar zxf BMRT2.6beta.linux-glibc2.tar.gz

3. Spostatevi alla sottodirectory BMRT :

       cd BMRT2.6

4. Copiate i files alle appropriate directories di destinazione:

       cp bin/* /usr/local/bin/
       cp lib/lib* /usr/local/lib/
       cp include/* /usr/local/include/

5. Fate una directory per gli shaders (ombreggiatori), assicuratevi che sia scrivibile da tutti, poi copiate

i files degli shaders in essa:

       mkdir /usr/local/shaders
       chmod 777 /usr/local/shaders
       cp shaders/*.sl* /usr/local/shaders/
       cp shaders/*.h /usr/local/shaders/
       cp examples/*.sl* /usr/local/shaders/
       cp examples/*.h /usr/local/shaders/

6. Editate il file profile del login di sistema (/etc/profile o equivalente), e aggiungete la linea:

       export SHADERS=.:/usr/local/shaders

7. Copiate il file .rendribrc in ciascuna home directory degli utenti.

Se qualcosa andasse storto, consultate il file README che accompagna il pacchetto Blue Moon Rendering Toolkit, oppure visitate il loro sito web.

3.5 Installazione del Modellatore Grafico

Mops dovrebbe essere installato per ciascun singolo utente, oppure per tutto il sistema utilizzando l’account di root (o equivalente). In questo esempio, è stato installato usando un account non amministrativo, che dovrebbe dare dei buoni risultati. Da notare che la compilazione è fallita durante l’installazione (mancava un file C header), così sono stati installati i binari (compatibili con RedHat v6.0, il vostro sistema potrebbe essere diverso), nel modo che segue:

1. Spostatevi in una directory dove volete installare Mops. Per esempio, se volete una directory /usr/local/mops, digitate il seguente comando:

          cd /usr/local

2. Estraete mops (sostituite il numero dove richiesto), poi spostatevi nella sua directory:

          tar zxf /usr/local/archives/mops-0.42d-BMRT26-linux.tar.gz
          cd mops
  3. Spostate i seguenti files da /usr/local/mops/src a /usr/local/mops:
          mv src/crtmopssh.sh .
          mv src/mfio.so .
          mv src/mops .

4. Copiate il file .mopsrc nella home directory di ciascun utente che vuole usare Mops. Per esempio, l’utente Mara avrebbe bisogno di digitare il seguente comando:

          cp src/mopsrc /home/mara/.mopsrc

5. Create la directory /usr/local/lib/mops e spostate le directories buttons e shaders:

          mkdir /usr/local/lib/mops/
          mv buttons/* /usr/local/lib/mops/
          mv shader/*.sl* /usr/local/shaders/

Se qualcosa andasse storto, consultate i files README e Setup.txt che sono inclusi nel pacchetto The Mops, oppure visitate il loro sito web.

Abbandonate l’account di root. Loggatevi come utenti normali, e fate girare Mops con il seguente comando:

     /usr/local/mops/mops

Potete anche creare una sottodirectory entro la directory $HOME/mops chiamata modelli per salvare i modelli 3D creati da voi.

3.6 Fare Ordine

Ora che l’installazione è completa, potete rimuovere dal vostro sistema tutti i files di cui non avete più bisogno (sostituite i numeri di versione dove richiesto).

     cd /usr/local/archives/
     rm -rf BMRT2.6
     rm -rf Mesa-3.4.1

Importante: Siate cauti nell’uso di rm -rf ... assicuratevi di essere nella directory giusta, e che siano presenti i files e/o le directories che volete cancellare.

4 Informazioni Varie

Invece di una sezione dedicata alle domande più frequenti,ecco qui delle informazioni su alcuni dei problemi (maggiormente imbarazzanti) che si presentano più frequentemente.

4.1 L’ Illuminazione

Il problema più frustrante, all’inizio, era capire perchè tutto apparisse nero – e poi come illuminare realmente gli oggetti. In questi mondi virtuali dove state modellando gli oggetti, i mondi sono creati dal nulla. Non c’è luce nel mondo fino a che non ponete una sorgente di luce in esso! La sorgente di luce, poi, illumina una data direzione, ed illumina gli oggetti che si trovano sul suo percorso (in accordo con le proprietà superficiali di un dato oggetto). Assicuratevi che la vostra sorgente di luce sia:

1. puntata (ruotata e traslata) nella corretta direzione;

2. intensa abbastanza da produrre una luce realmente distinguibile.

4.2 Tutorials

La cosa più semplice che una persona vorrebbe fare con dei pacchetti di modellazione/rendering è posizionare una sfera su di una superficie, aggiungere alcune luci, e poi vedere il risultato. Un tutorial decente dovrebbe descrivere questo per prima cosa.

Detto questo, Mops ha uno stupendo

first tutorial http://www.informatik.uni-rostock.de/~rschultz/mops/tut1/tut1.html .

5 Links

5.1 Librerie Grafiche

Mesa http://www.mesa3d.org/ - Una Libreria Grafica OpenGL-compatibile.

5.2 Renderizzatori Grafici

BMRT http://www.bmrt.org/ - The Blue Moon Rendering Toolkit.

POV-Ray http://www.povray.org/ - The Persistence of Vision Raytracer.

5.3 Modellatori Grafici

The Mops http://www.informatik.uni-rostock.de/~rschultz/mops/ - Un pacchetto di modellazione 3D

che usa BMRT.

Blender http://www.blender.nl - Una suite di strumenti freeware di modellazione e rendering.

5.4 Links Vari

Ecco alcuni links che non si possono aggiungere in nessun altra categoria,nel caso siate ancora indecisi se utilizzare il vostro sistema Linux come una stazione per la modellazione 3D ed il rendering.

3D Software for Linux http://glide.xxedgexx.com/software.html - Contiene la maggior parte (se non tutti) i links di questo documento ed altri ancora.

3D Modelling Software for Linux http://ntua.linuxberg.com/x11html/gra_3d.html - Links ai pacchetti

software principalmente indirizzati alla modellazione.

3D Modelling and Rendering using Linux http://linux3d.netpedia.net - Un sito esaustivo con articoli e software che spiega ciò che ho riassunto in questo documento.

6 Ringraziamenti

Vorrei ringraziare di cuore gli sviluppatori dei pacchetti software descritti in questo documento. La qualità del loro lavoro è paragonabile ai software commerciali, mentre tengono ancora vivo lo spirito del software libero. Ben Fatto!