Approfondimenti
di Michael J. Hammel traduzione di Antonio Cartelli



XFPovray 1.2.4/1.3.1


Recentemente mi è stato dato l'incarico di lavorare ad un'altra copertina del Linux Journal. Questa copertina uscirà tra qualche mese e per il momento non voglio dire di lei più del necessario, Vi basti sapere che parte di ciò che dovevo fare per realizzarla era creare un po' di testo tridimensionale. Ho acquisito una notevole familiarità con questa tecnica avendoci lavorato per diverso tempo mediante l'utilizzo di numerosi pacchetti, tra i quali AC3D, POV-Ray, Font3D e così via. Grazie all'esperienza acquisita posso dire che la maniera più celere per creare testo 3D poggia sull'utilizzo di Font3D e POV-Ray e che i risultati sono generalmente abbastanza buoni. Spero di riuscire a proporvi una panoramica di Font3D e del suo front end XForms, XFont3D, per il mese prossimo.

Dopo aver creato i font ho dovuto utilizzare POV-Ray. Si tratta di un eccezionale pacchetto a riga di comando per la creazione di immagini 3D che utilizza un suo linguaggio specifico per definire uno scenario tridimensionale. Il file di scenario viene quindi inviato al "motore di rappresentazione" insieme ad una delle tante combinazioni delle molte opzioni della riga di comando. L'unico vero problema con POV-Ray è che ha tante di quelle opzioni che è facile dimenticare quali di queste vengono utilizzate con una particolare sintassi.

Fortunatamente Robert S. Mallozzi ha scritto un utilissimo pacchetto di front end basato su XForm per il rappresentatore POV-Ray:  XFPovray.  Il pacchetto, come moltissimi altri in ambiente Linux, è disponibile in formato sorgente, ma per essere utilizzato richiede la libreria XForms v0.88 o successive e POV-Ray 3.0.  Per la realizzazione della copertina citata ho utilizzato la versione 1.2.4 del software ma mentre scrivo questo articolo ho scoperto che Robert ha licenziato una nuova versione del software stesso. Ho scaricato anche quest'ultima e devo dire che non ho avuto alcun problema nel compilarla: si devono soltanto editare un paio di file (se necessario) ed eseguire xmkf; make; make install.  Per mandare in esecuzione il programma install di default occorre essere in modalità superutente (root) poiché il programma Imakefile è predisposto per l'installazione nell'area /usr/local/bin.
 

Figura 1: l'interfaccia di XFPovray v1.3.1
L'interfaccia della versione 1.3.1 del software è un pochino diversa da quella della versione 1.2.4 in quanto utilizza una struttura più piccola per la finestra iniziale del programma. Le opzioni del rappresentatore sono anche nella nuova versione all'interno di una sorta di blocco notes. Al di là di tutto però l'interfaccia è più compatta. Sfortunatamente ho scoperto che c'era qualcosa che non andava nella mia configurazione poiché, a volte, i menu non facevano effettuare il rinfresco delle finestre al momento della loro chiusura, facendo sì che parti del menu stesso coprissero porzioni delle finestre sottostanti. Ritengo che ciò possa essere dovuto a qualche errore nella XForms v0.88, anche se la versione 1.2.4 di XFPovray non ha manifestato questo tipo di problema. In conseguenza di quanto accaduto ho deciso di rivedermi la versione 1.2.4 e di fare un confronto con le differenze esistenti con la versione 1.3.1 (poche per la verità). Le caratteristiche delle due versioni, entrambe disponibili sul sito Web di XFPovray, sono molto simili per cui se si hanno problemi con la versione 1.3.1 ci si può procurare la versione 1.2.4. 
 
Figura 2:  interfaccia di XFPovray 1.2.4

XFPovRay dà all'utente la possibilità di mandare in esecuzione il rappresentatore POV-Ray su file di scene preesistenti e di editare quegli stessi file. Per editare un file di scenario occorre innanzitutto configurare l'editor che si desidera utilizzare. Si selezioni la riga di menu Options->Configure della barra di menu della finestra principale. Si aprirà una finestra di dialogo mediante la quale si potrà configurare l'editor che si vuole utilizzare e determinare la locazione dell'eseguibile POV-Ray, un visualizzatore di immagini da utilizzare e diversi altri parametri. Dopo aver cliccato il pulsante Accept si dovrà utilizzare l'opzione del menu Options->Save State per salvare la configurazione scelta nel file di configurazione di XFPovray: per default ciò avverrà in $HOME/.xfpovray.

Una volta selezionato un editor si sarà pronti ad editare un file. Si selezioni il pulsante del File Scenario ("Scene File") per aprire una finestra di dialogo: in tal modo si potrà scegliere il file di scenario da rappresentare per default. Quella appena descritta è l'operazione da fare prima ancora di provare ad editare uno qualsiasi dei file di include disponibili. La finestra di dialogo che si aprirà è una finestra per la selezione di file. Nella versione 1.3.1 questa finestra di dialogo appare modificata rispetto a quella della versione precedente ed è un po' più vicina, per aspetto, ad una di quelle finestre standard per questi tipi di dialoghi. Le figure 3 e 4 illustrano la finestra di dialogo per la selezione di file nelle due versioni del programma.
 
Figura 3:  finestra "File Selection" per XFPovray 1.2.4 Figura 4:  finestra "File Selection" per XFPovray 1.3.1

Il tasto "Scene File" stabilisce esclusivamente quale file debba essere passato al rappresentatore, non consente di aprire l'editor su quel file. Per aprire l'editor su un file si deve cliccare il tasto "Edit Scene", di nuovo si aprirà la finestra "File Selection". Nella versione 1.3.1 del programma il file di default all'interno di tale finestra è il file che si è scelto con la selezione del tasto "Scene File". Nella versione 1.2.4 la finestra si apre sull'area, qualunque essa sia, dalla quale si è lanciato inizialmente XFPovray, da lì si può procedere ad editare un file cliccando sul suo nome o si può utilizzare la finestra di dialogo per selezionarne un altro. Una volta che si sarà selezionato un file l'editor si aprirà su quel file e si sarà pronti a fare il proprio lavoro.

Il tasto "View Image", come preannuncia il nome, lancerà un visualizzatore di immagine su un particolare file immagine. Il tasto "Config File" mostrerà il file di configurazione utilizzato da POV-Ray (non XFPovray). Il settaggio di molti dei parametri potrà essere modificato mediante le opzioni di rappresentazione "Render Options" (tasti nella versione 1.2.4, un blocco notes con tabulazioni nella versione 1.3.1) anche se non sembra sia possibile salvare i cambiamenti dall'interfaccia. Se i valori preimpostati non sono quelli che si vorrebbero si potrà sempre modificare manualmente il file di configurazione (xfpovray.ini).

Le opzioni di rappresentazione permettono di gestire un gran numero di opzioni di POV-Ray anche se alcune di queste non sono ancora supportate (si veda la pagina Web per vedere in dettaglio quali opzioni non sono supportate). Le figure 5 e 6 mostrano la finestra delle opzioni di rappresentazione nelle due versioni di XFPovray. La figra 6 è stata ritagliata dalla finestra principale per recuperare un po' di spazio. Le opzioni di rappresentazione della versione 1.2.4 sono illustrate nello spazio occupato dall'immagine dello striscione di povray. La figura 7 mostra le tabulazioni all'interno della finestra delle opzioni di rappresentazione della versione 1.3.1. Come si vede, mediante queste finestre si può configurare un numero piuttosto esiguo di opzioni: si tenga sempre presente che le due versioni del software hanno all'incirca le stesse opzioni e che le differenze vanno ricercate nel fatto che nella versione 1.2.4 si accede ad esse mediante un insieme di tasti "Render Options" all'interno della finestra principale.
 
 
Figura 5:  Opzioni di Rappresentazione, versione 1.2.4
Figura 6:  Opzioni di Rappresentazione, versione 1.3.1
 

Le Figure 7 ed 8 mostrano alcuni dei possibili modelli che si possono utilizzare allorché si edita un file di scenario. I modelli rappresentano un esempio dei vari tipi di primitive e della sintassi di comando che si possono utilizzare nel file di scenario. Per utilizzare questi modelli si procede come segue: innanzitutto si seleziona il modello che si vuole aggiungere al file di scenario (si suppone che il file scenario sia stato già aperto e predisposto per essere utilizzato in editing). In tal modo il modello viene copiato nel buffer di selezione X primario. Si tratta dello stesso buffer che si utilizza quando si seleziona del testo in una finestra xterm. Per utilizzare la copia del modello si deve prima entrare in modalità inserimento nell'editor, quindi si deve utilizzare il tasto mediano del mouse (o entrambi i tasti nel caso di un mouse a due tasti che ne stia emulando uno a tre tasti) per incollare l'oggetto selezionato nel proprio file. Si noti che quando si seleziona il modello dal menu non si vede alcun tipo di messaggio di conferma dell'avvenuta copia del modello all'interno del buffer di selezione.
 
 
Figure 7:  Modelli di primitive solide
Figure 8:  Modelli di primitive di fotocamere
 

Una volta che si sia finito di editare il file si potrà rappresentare un'anteprima dell'immagine. Per stabilire la grandezza dell'anterpima si può utilizzare il parametro Render Options/Output. Per avere un'idea degli effetti forniti dai file standard di include si può utilizzare anche il tasto Inc Preview! L'anteprima utilizza i retini ed i colori selezionati ed ogni altra cosa presa su una sfera, essa inoltre consente di specificare la direzione delle luci e la posizione della fotocamera. In tal modo la selezione delle caratteristiche da aggiungere al retino di un oggetto vengono rese molto più semplici e meno passibili di errori. Sebbene ci sia, nonostante tutto, ancora un notevole margine di possibilità di errore nella creazione di retini, si possono almeno provare, in maniera agevole e veloce, alcuni effetti particolari.

Prima di provare XFPovray occorre sapere un'altra cosa ancora. Ho detto prima, infatti, che ho provato entrambe le versioni del software: la 1.2.4 e la 1.3.1. Se si prova la prima delle due e la si aggiorna con la versione 1.2.4 il software sembra riconoscere le differenze esistenti tra i diversi file di configurazione. In ogni caso se si ha un problema di qualsiasi tipo con la versione 1.3.1 e si vuole tornare indietro alla versione 1.2.4 si deve innanzitutto ripulire la directory $HOME/.xfpovray dei file in essa contenuti. La versione precedente potrebbe infatti essere fuorviata dai cambiamenti presenti nei file di configurazione della versione 1.3.1. Ovviamente non c'è di che preoccuparsi qualora non si abbia alcuna intenzione di mantenere traccia di alcunché nel passaggio dall'ultima versione alla precedente.

Come si vede, dopotutto XFPovray è un pacchetto molto utile. Quando ho lavorato all'elaborazione del mio testo tridimensionale ho creato innanzitutto i file di include del testo utilizzando Font3D/XFont3D, da quel momento in poi ho potuto lavorare sempre e solo all'interno di XFPovray per vedere come venivano le immagini ed effettuare velocemente piccoli ritocchi. In effetti non ho mai dovuto far ricorso al programma a riga di comando POV-Ray, il che ha rappresentato una gran fortuna visto che non riesco mai a ricordare le opzioni giuste da dare sulla riga di comando. Se si lavora molto con POV-Ray credo che non si potrà non gioire dell'utilizzo di XFPovray come front end per editing e rappresentazione.

indent
 

[ La pagina della Musa ] [ Indice ]


Per l'articolo originale: © 1998 Michael J. Hammel - Pubblicato sul n. 27 della Linux Gazette
Per l'edizione italiana: © 1998 A. Cartelli - Pubblicato sul n. 4 anno II di LGEI a cura del LUGBari