  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


  ______________________________________________________________________

  11..  IInnttrroodduuzziioonnee

  11..11..  PPrreeaammbboolloo

  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1..22..  MMooddeelllliinngg vvss.. MMooddeelliinngg

  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.  ;-)

  11..33..  CCooppyyrriigghhtt IInnffoorrmmaattiioonn

  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.

  22..  IInnffoorrmmaazziioonnii ggeenneerraallii

  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2..11..  LLaa LLiibbrreerriiaa GGrraaffiiccaa

  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.

  22..22..  IIll MMooddeellllaattoorree GGrraaffiiccoo

  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.

  22..33..  IIll RReennddeerriizzzzaattoorree GGrraaffiiccoo

  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.

  33..  IIssttrruuzziioonnii ddii IInnssttaallllaazziioonnee

  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3..11..  AAtttteennzziioonnee

  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3..22..  DDoowwnnllooaadd ddeell ssooffttwwaarree

  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 ..ttaarr..ggzz ) 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..33..  IInnssttaallllaazziioonnee ddeellllaa LLiibbrreerriiaa GGrraaffiiccaa

  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



  33..44..  IInnssttaallllaazziioonnee ddeell RReennddeerriizzzzaattoorree ggrraaffiiccoo


  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.


  33..55..  IInnssttaallllaazziioonnee ddeell MMooddeellllaattoorree GGrraaffiiccoo

   _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.

  33..66..  FFaarree OOrrddiinnee

  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4..  IInnffoorrmmaazziioonnii VVaarriiee

  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4..11..  LL'' IIlllluummiinnaazziioonnee

  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.

  44..22..  TTuuttoorriiaallss

  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
  <http://www.informatik.uni-rostock.de/~rschultz/mops/tut1/tut1.html>.

  55..  LLiinnkkss

  55..11..  LLiibbrreerriiee GGrraaffiicchhee

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


  55..22..  RReennddeerriizzzzaattoorrii GGrraaffiiccii

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

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

  55..33..  MMooddeellllaattoorrii GGrraaffiiccii

  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5..44..  LLiinnkkss VVaarrii

  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6..  RRiinnggrraazziiaammeennttii

  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!



