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, _i_v_a_n___b_@_i_n_w_i_n_d_._i_t .
______________________________________________________________________
Indice Generale
1. Introduzione
1.1 Preambolo
1.2 Modelling vs. Modeling
1.3 Copyright Information
2. Informazioni generali
2.1 La Libreria Grafica
2.2 Il Modellatore Grafico
2.3 Il Renderizzatore Grafico
3. Istruzioni di Installazione
3.1 Attenzione
3.2 Download del software
3.3 Installazione della Libreria Grafica
3.4 Installazione del Renderizzatore grafico
3.5 Installazione del Modellatore Grafico
3.6 Fare Ordine
4. Informazioni Varie
4.1 L' Illuminazione
4.2 Tutorials
5. Links
5.1 Librerie Grafiche
5.2 Renderizzatori Grafici
5.3 Modellatori Grafici
5.4 Links Vari
6. Ringraziamenti
______________________________________________________________________
11.. IInnttrroodduuzziioonnee
11..11.. PPrreeaammbboolloo
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.
11..22.. MMooddeelllliinngg vvss.. MMooddeelliinngg
Lo spelling _m_o_d_e_l_l_i_n_g è Canadese. Lo spelling _m_o_d_e_l_i_n_g è Americano.
L'autore originale di questo documento è Canadese. ;-)
11..33.. CCooppyyrriigghhtt IInnffoorrmmaattiioonn
Copyright © 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.
22.. IInnffoorrmmaazziioonnii ggeenneerraallii
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.
22..11.. LLaa LLiibbrreerriiaa GGrraaffiiccaa
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 _M_e_s_a.
22..22.. IIll MMooddeellllaattoorree GGrraaffiiccoo
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
_T_h_e _M_o_p_s, che produce files _R_e_n_d_e_r_M_a_n-compatibili.
22..33.. IIll RReennddeerriizzzzaattoorree GGrraaffiiccoo
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 _R_e_n_d_e_r_M_a_n-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 _B_l_u_e _M_o_o_n _R_e_n_d_e_r_i_n_g
_T_o_o_l_k_i_t che usa i files _R_e_n_d_e_r_M_a_n.
33.. IIssttrruuzziioonnii ddii IInnssttaallllaazziioonnee
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).
33..11.. AAtttteennzziioonnee
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!
33..22.. DDoowwnnllooaadd ddeell ssooffttwwaarree
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 ..ttaarr..ggzz ) nelle nuove
directories appena create (sono dati i links alle homepages ed alle
pagine di downloading, e alla versione software minima):
· Mesa Graphics Library v3.4.1:
www.mesa3d.org/download.html
· Blue Moon Rendering Toolkit v2.6beta:
www.bmrt.org/BMRTdownload/index.html
· The Mops
v0.42d: www.informatik.uni-
rostock.de/~rschultz/mops/download.html
33..33.. IInnssttaallllaazziioonnee ddeellllaa LLiibbrreerriiaa GGrraaffiiccaa
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 _M_e_s_a (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 _M_e_s_a 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
33..44.. IInnssttaallllaazziioonnee ddeell RReennddeerriizzzzaattoorree ggrraaffiiccoo
1. Ritornate alla directory /usr/local/archives :
cd ..
2. Estraete il file _B_l_u_e _M_o_o_n _R_e_n_d_e_r_i_n_g _T_o_o_l_k_i_t (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 _B_l_u_e _M_o_o_n _R_e_n_d_e_r_i_n_g _T_o_o_l_k_i_t, oppure visitate il loro
sito web.
33..55.. IInnssttaallllaazziioonnee ddeell MMooddeellllaattoorree GGrraaffiiccoo
_M_o_p_s 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 _M_o_p_s. 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 _T_h_e _M_o_p_s, oppure visitate il loro sito
web.
Abbandonate l'account di root. Loggatevi come utenti normali, e fate
girare
_M_o_p_s 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.
33..66.. FFaarree OOrrddiinnee
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.
44.. IInnffoorrmmaazziioonnii VVaarriiee
Invece di una sezione dedicata alle domande più frequenti,ecco qui
delle informazioni su alcuni dei problemi (maggiormente imbarazzanti)
che si presentano più frequentemente.
44..11.. LL'' IIlllluummiinnaazziioonnee
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'è _l_u_c_e 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.
44..22.. TTuuttoorriiaallss
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, _M_o_p_s ha uno stupendo first tutorial
.
55.. LLiinnkkss
55..11.. LLiibbrreerriiee GGrraaffiicchhee
Mesa - Una Libreria Grafica OpenGL-
compatibile.
55..22.. RReennddeerriizzzzaattoorrii GGrraaffiiccii
BMRT - The Blue Moon Rendering Toolkit.
POV-Ray - The Persistence of Vision
Raytracer.
55..33.. MMooddeellllaattoorrii GGrraaffiiccii
The Mops - Un
pacchetto di modellazione 3D che usa BMRT.
Blender - Una suite di strumenti freeware di
modellazione e rendering.
55..44.. LLiinnkkss VVaarrii
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 -
Contiene la maggior parte (se non tutti) i links di questo documento
ed altri ancora.
3D Modelling Software for Linux
- Links ai pacchetti
software principalmente indirizzati alla modellazione.
3D Modelling and Rendering using Linux -
Un sito esaustivo con articoli e software che spiega ciò che ho
riassunto in questo documento.
66.. RRiinnggrraazziiaammeennttii
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!