Numero 10 di Michael J. Hammel traduzione di Antonio Cartelli


Predisponete pure il vostro browser alla dimensione desiderata.
La Musa è stata predisposta per adattarsi allo spazio disponibile!



Barra dei Bottoni Musa: 
  1. v; per farsi assalire dai pensieri 
  2. n; [ fr. Una delle nove sorelle, dee delle scienze e delle arti nella mitologia greca ]: sorgente di ispirazione 
 Benvenuti dalla Musa della Grafica! Perché una "musa"? Al di là dell'aspetto delle sorelle, le precedenti definizioni sono la maniera migliore di descrivere il mio interesse nella Computer Graphica: questa disciplina mi fa sprofondare nelle mie riflessioni ed è una sorgente giornaliera di ispirazione. 

[ Novità nella Grafica ] [ Meraviglie del Web ] [ Riflessioni ] [ Risorse ]

Questo spazio è dedicato all'uso, alla creazione, alla distribuzione ed alla discussione di pacchetti per la Computer Grafica su sistemi Linux.
 
      Nei due mesi appena trascorsi sono stato oberato di impegni. In primo luogo mi sono trasferito da Denver a Dallas. Anzi - a proposito, per chi non lo sapesse, sono cresciuto nel Texas ed ho ancora molti amici lì, non che il Colorado non mi piaccia - è uno stato incantevole - ma non sono un grande estimatore dei climi freddi e lì gli inverni possono essere polari. La cosa che mi rammarica di più è che ho perso i miei amici: eh! anche i matti hanno bisogno di amici.
      E così ora sono di nuovo a Dallas. Il trasferimento è andato abbastanza bene almeno fino a quando non ho cercato di rimettere in moto i miei computer. Ho fatto saltare il monitor del mio laptop ("kepler" aka). Devo essere sincero: non ho la più pallida idea di cosa sia accaduto, so soltanto che non dà più segni di vita. Me tapino! Sono $1800 (US) che se ne vanno, a meno che non mi riesca di ottenere dalla NEC una riparazione del guasto a prezzi ragionevoli. Sorprendentemente non ho saputo cogliere questo segno del destino e non mi sono preoccupato più tanto, per cui ho cominciato a disimballare i miei server. La prima cosa che ho fatto è stata mettere in piedi il sistema primario: "feynman" (diminutivo affettuoso, vero? NDT), per capirci quello su cui svolgo la gran parte del mio lavoro. Dopo averlo riassemblato e messo in rete l'ho alimentato ed ha ripreso a funzionare come sempre. Il tutto è durato però non più di 15 minuti, dopo di che la corrente è saltata. È da notare che sono andato a vivere in un appartamento nuovo all'interno di un complesso e che in quella casa non aveva mai abitato nessuno prima. A quanto pare, però, sembra anche che nessuno abbia mai provato l'impianto elettrico prima di allora, infatti l'acre odore di plastica bruciata che si è sentito poco dopo era quello della mia CPU Cyrix e quello dell'insieme dei chip PCI che sono andati in fumo, causandomi un ulteriore aggravio di spesa di $400. A questo punto mi era venuta voglia di piangere e di dedicarmi ad un hobby meno costoso. Ad ogni modo, come Dio ha voluto, adesso tutto ha ripreso a funzionare e, cosa ben più importante, sembra farlo stabilmente, al punto che il mio sistema operativo Linux sembra dare ottime prestazioni. Com'è ovvio è l'hardware che fa le bizze e pianta in asso. Tutto questo per generi di prima necessità.
     Una volta che la vita ha ripreso a scorrere normalmente ho deciso di riprendere a lavorare. In effetti sono stato lontano da ogni attività per circa un mese, durante il trasloco, ed ho sentito il bisogno di una rinfrescata, il che tradotto in soldoni avrebbe dovuto significare che dovevo tornare alle mie responsabilità di scrittore pressoché istantaneamente. Invece ho cominciato a giocherellare con il PalmPilot che mio fratello mi aveva regalato per Natale. Non si tratta di un apparecchio nuovo - penso che mio fratello l'abbia tenuto per almeno un anno - ma è in ottime condizioni. Mio fratello sapeva che avevo trovato qualche informazione su come utilizzare l'apparecchio con Linux e mi aveva anche detto che se avessi avuto bisogno di qualche PDA (Assistente Digitale Personale) questo avrebbe potuto essere solo Pilot. Bene! Adesso ne ho uno, e devo dire che è calmo e tranquillo (si, rilassato come in "Ho appena passato i miei primi 30 anni"). Devo dire poi che i pacchetti disponibili per Unix e Pilot vanno benissimo, al punto che mi sono sentito in dovere di scrivere un articolo su di loro. Tenete d'occhio i prossimi numeri di LJ (Linux Journal). È tranquillo.
      Mi sono poi fatto coinvolgere in un altro compito connesso alla programmazione. Per ragioni imperscrutabili sono arrivato alla conclusione di dover iniziare a scandagliare i meandri di Gtk e di dover far diventare il mio XPostitPlus (note sgradevoli per computer aka per quanti sono disgustati da 3M) un nuovo ed impareggiabile strumento. In realtà mi sono divertito molto, forse perché la trasformazione è stata facilissima: Gtk è abbastanza facile da utilizzare, molto più facile di Motif, nonostante che Gtk si stia arricchendo sempre più di funzioni (per lo più tra i suoi comodi pacchetti mancanti - o forse sono state sempre lì ed io me le sono perse). Ad ogni modo ho passato troppo tempo su questi giochini, ivi compresa la progettazione di nuove caratteristiche, il test di alcune semplici idee, e così via. È un lavoro lungo.
      E sono arrivato così al 29 gennaio, è quasi mezzanotte, e devo ancora mettere mano al numero di questo mese. Mi sono ripromesso di portarlo comunque a termine entro stanotte, volendo dedicare un po' di spazio anche a XeoMenu, un sistema a menu basato su Java della JavaSoft. Penso però che quest'ultimo desiderio non si avvererà. Nel peggiore dei casi so di cosa occuparmi nella sezione dedicata alle meraviglie del Web del prossimo mese.
      Nel numero di questo mese mi occuperò di quel grazioso generatore di logo che è Font3D, insieme al suo compagno XFont3D, entrambi dei programmi notevoli. XFont3D è un accettabile sistema d'ingresso per Font3D, e quest'ultimo è un programma che tocca andare a vedersi se si pensa che si sarà costretti a realizzare dei logo 3D. Per questo mese la Musa avrà un aspetto un po' più ampio di quello usuale basato su 640x480 pixel. Ne sono spiacente, ma per riuscire a contenere le immagini ho avuto bisogno di un po' di spazio in più
      Mi auguro che le vostre vacanze (se ne avete fatte) siano andate bene e che siate pronti a rimettervi in pista avendo fatto il pieno di energia. Io sono pronto e, per di più, sono stato contattato per diventare l'autore di una collana di testi su Linux. Benissimo! Sto già pensando a possibili argomenti da abbordare ...


 
Graphics Mews
     Avvertenza: Prima di addentrarmi eccessivamente nell'argomento devo far rilevare che ogni nuova informazione che inserisco in questa sezione ha solo ed essenzialmente un significato: quello di segnalazione di una novità. Ho avuto l'opportunità di venirne a conoscenza mediante alcune mailing-list cui sono iscritto, via gruppi di news Usenet, o infine, mediante messaggi inviatimi da lettori e curiosi. Certamente non garantisco questi prodotti (alcuni dei quali possono essere commerciali), faccio soltanto presente che ne ho sentito parlare il mese scorso.
 
indent

Come vedere dei CD video con MpegTV Player

MpegTV è lieta di annunciare che è finalmente possibile vedere CD video (VCD) su sistemi Linux-x86 mediante MpegTV Player 1.0 e xreadvcd.

MpegTV Player 1.0 è un software shareware, (US$ 10) nel caso in cui sia dedicato ad uso personale e non commerciale. Per usi commerciali o nel campo della pubblica amministrazione ne va chiesta licenza d'uso. xreadvcd è invece un pacchetto gratuito sviluppato da Ales Makarov (è disponibile il codice sorgente).

Per ogni informazione sul software e per poterlo scaricare si veda:
http://www.mpegtv.com/download.html 

Per ricevere informazioni sulle novità legate ai prodotti MpegTV ci si può iscrivere alla mail list: 
http://www.mpegtv.com/mailing.html 

Per ogni ulteriore informazione va contattato: mailto:info@mpegtv.com 
Sito Web MpegTV:      http://www.mpegtv.com

indent

Xi Graphics annuncia il supporto a Virge GX/2

Xi Graphics, Inc. annuncia il supporto a Virge GX/2 all'interno del loro pacchetto Accelerated-X Display Server v4.1 per Linux, FreeBSD, BSD/OS, Sun Solaris/86, Interactive, Unixware e SCO OpenServer V.  XiG fornisce una piena accelerazione bidimensionale a tutte le risoluzioni e tutte le gamme e gradazioni di colore, oltre a supportare la correzione gamma via hardware.

Per gli attuali utilizzatori di Accelerated-X Display Server v4.1 è disponibile un aggiornamento: update_4100.016, sul sito FTP della società con il quale si ottiene un supporto aggiornato alle schede video (AGP & PCI) Virge GX/2, esso supporta infatti anche le schede video Number9 Reality 334. Nello stesso aggiornamento trova posto anche un supporto avanzato alle precedenti schede video Virge GX e DX.

Per poter provare l'Accelerated-X Display Server v4.1 si scarichino sia il demo che i seguenti aggiornamenti:

ftp://ftp.xig.com/pub/update/ 
   update_4100.016.tar.gz 

ftp://ftp.xig.com/pub/update/ 
   update_4100.016.txt 
sono due file necessari ad ottenere l'aiuto necessario in fase di installazione. Il file update_4100.016.txt contiene infatti le istruzioni dettagliate per l'installazione.

Il consiglio che dò a chiunque sia in possesso di una scheda video che dà problemi, in ambiente Linux, è di contattare XiG perché la società potrebbe disporre di qualche server che risolva i problemi evidenziati.
Xi Graphics, Inc.  800.946.7433  303.298.7478

Convertitore di Font da TrueType a Postscrit

Andrew Weeks ha scritto un programma che converte font di tipo True Type in Postscript, per cui d'ora in poi gli utenti Linux possono utilizzare i font TT che normalmente vengono utilizzati in ambiente Windows.

Si veda http://www.bath.ac.uk/~ccsaw/fonts/ 
Commenti/Problemi a: 
Andrew Weeks 
Bath Information & Data Services 
University of Bath 
email: A.Weeks@bath.ac.uk 
 

Un programmino OpenGL per Gtk

gtkGL versione 0.2 è una funzione/oggetto/giochino fatto apposta per utilizzare OpenGL con GTK in maniera molto facile. gtkGL include gdkGL e GLX wrapper.

Una lista aggiornata degli archivi sembra essere all'indirizzo:
http://www.sakuranet.or.jp/~aozasa/shige/ 
   doc/comp/gtk/gtkGL/files-en.html. 
L'ultima versione sembra essere 
http://www.sakuranet.or.jp/~aozasa/shige/ 
   dist/gtkGL-0.3.tar.gz 


Archivi delle mail list di MindsEye

http://mailarchive.luna.nl/mindseye/ 
 

Freedom VR 2, un visualizzatore per Quicktime VR

Paul A. Houle ha annunciato la disponibilità di Freedom VR 2,  un applet Java che funziona come un filmato per oggetti di tipo Quicktime VR. Freedom VR 2 è la soluzione ideale per VR fotografica che voglia essere visualizzata su ogni piattaforma che utilizzi un browser web in grado di gestire applicazioni Java, inclusi Linux, così come altre forme di Unix, Mac OS, OS/2, Windows ed ulteriori altri sistemi. Siccome si basa su degli standard aperti quali .gif e .jpg si possono realizzare senza alcun problema applicazioni Freedom su una qualsiasi piattaforma. Il software è rilasciato con la licenza pubblica GNU ed è pertanto accessibile liberamente, è poi disponibile anche il codice sorgente.

Freedom VR 2 aggiunge molte caratteristiche nuove a VR 1 -- è ora possibile immettere nelle scene VR che si sono realizzate degli hyperlinks così come è possibile realizzare scene che consentono una navigazione bidimensionale -- per capirci quella mediante la quale si può prendere un oggetto e trascinarlo su e giu a destra ed a sinistra. Gli utenti possono ora navigare anche mediante la tastiera e Freedom VR 2 può essere controllato mediante JavaScript. Come se non bastasse Freedom VR 2 ha mostrato miglioramenti non indifferenti delle prestazioni nel passaggio tra le varie piattaforme.

Freedom VR 2 è anche molto facile da utilizzare e, in tanti ormai, hanno realizzato delle belle applicazioni mediante Freedom VR 1 -- per incoraggiare l'uso di Freedom VR 2 si è messa in piedi una competizione. Alla persona che realizzerà il miglior modello VR prima del 15 dicembre 1997 verrà regalato un pet virtuale. Per ogni informazione si dia un'occhiata a http://www.honeylocust.com/vr/
 
Nota dell'autore: Bene! Anzi male! Sono mortificato per non essere riuscito a pubblicarlo in tempo utile per la competizione. Abbiate tutte le mie scuse. Perdonatemi.
 
 
 

Il driver per Ghostscript della stampante laser Brother HL 720

P. O. Gaillard ha scritto un driver per Ghostscript per la stampante laser Brother HL 720. L'autore ha inviato questo driver anche alla Aladdin Enterprises che lo includerà nella prossima versione di Ghostscript (i. e. quella successiva alla 5.10).

Questo driver è completamente libero da copyright sia della Brother che di Microsoft (questa stampante non è una vera e propria stampante WPS, motivo grazie al quale l'autore è riuscito ad ottenere la documentazione necessaria a realizzare il driver). Va notato che la stessa documentazione non è disponibile per le stampanti Oki e Canon (LBP 660), il che rende impossibile realizzare dei driver per queste stampanti.

Ecco alcune informazioni sul driver e sulla stampante :
  = La stampante ha 600dpi, 6 ppm e costa $300 (US);
  = Con ghostscript si può scrivere a circa 5 ppm 
  = Lo sviluppo del driver ha richiesto meno di 50 ore 

Coloro che vogliono utilizzare il driver con gs3.33 (in maniera particolare coloro che amministrano pacchetti Ghostscript per distribuzioni commerciali) possono contattare Mr. Gaillard per farsi inviare il software con i dovuti aggiustamenti. (Il pacchetto è stato già inviato sulla mail list fr.comp.os.linux qualche mese fa). Penso che utilizzatori dei pacchetti Debian e Red Hat dovranno aspettare un po' prima di poter usufruire di questo driver.

P.O. Gaillard 

Nota :  si tratta di un vecchio annuncio apparso sulla lista comp.os.linux.announce. All'infuori dell'indirizzo e-mail non ho altri riferimenti da poter segnalare per avere ulteriori informazioni.


VARKON V1.15C

VARKON è un pacchetto di alto profilo sviluppato dalla svedese Microform per applicazioni ingegneristiche e di CAD parametrico. La versione 1.15c disponibile gratuitamente in ambiente Linux si può ora scaricare all'indirizzo:
http://www.microform.se 

Per ulteriori e più dettagliate informazioni sulle novità comprese nella versione 1.15c si veda:
http://www.microform.se/userinfo.htm 

Johan Kjellander, Microform AB 
http://www.microform.se (VARKON/English)

Awethor - pacchetto di sviluppo basato su Java

CandleWeb AS è lieta di annunciare un pacchetto di sviluppo basato su Java denominato Awethor, con il quale vuole andare incontro alle esigenze di autori web allorché devono progettare e creare immagini grafiche per il web. Siccome il sistema Awethor utilizza la grafica vettoriale in luogo di quella basata su bitmap, i suoi utilizzatori possono creare e pubblicare disegni ed animazioni di grandi dimensioni in file piccolissimi, evitando così i lunghi tempi di attesa normalmente associati a fasi di trasferimento di immagini grafiche ed animazioni web.

Ciò che viene prodotto in output da Awethor può essere eseguito in ogni browser che supporti il linguaggio Java. Awethor normalmente produce due file di output :

  1. Un file contenente la presentazione in formato QDV (grafica Vettoriale Quick e Dirty). Il formato QDV è ottimizzato per il Web nel senso che le immagini prodotte con questo formato sono di grandezza considerevolmente ridotta rispetto alle corrispondenti immagini prodotte nei formati GIF o JPEG.
  2. Un file HTML di esempio con i parametri predisposti in modo da far sì che le immagini in formato QDV siano incorporate in maniera corretta in normali file HTML. In aggiunta a questo viene utilizzato un applet Java standard quale driver per il formato QDV. La grandezza dell'applet è di circa 13 K, per cui esso viene caricato velocemente (ed automaticamente), inoltre esso può essere riutilizzato su più file QDV.
Di seguito riporto un breve elenco con le caratteristiche salienti di Awethor :
  • Crea animazioni e grafici vettoriali che possono essere ridimensionati per essere utilizzati su web.
  • È possibile disegnare rettangoli, archi, linee, poligoni, curve, immagini e scrivere testo.
  • È un pacchetto per il disegno vettoriale con tutte le caratteristiche del WYSIWYG.
  • Ha un sistema di help integrato basato sull'HTML.
Awethor può essere scaricato dal sito web della CandleWeb:
http://www.candleweb.no/ 
 
 
 

FREEdraft - sistema di disegno bidimensionale per Linux/Unix/X.

È in fase di sviluppo FREEdraft. Il pacchetto non è ancora pronto, in tutte le sue funzionalità, per essere utilizzato in fase di produzione. Può essere utile, però se si è interressati alla modellizzazione della sintassi dei vincoli, o se si è curiosi di vedere che cosa fa il pacchetto. Attualmente FREEdraft è costituito da un visualizzatore, un sistema di grammer/menu/comandi caricabile dinamicamente, alcuni tipi di oggetti geometrici ed una libreria di funzioni matematiche bidimensionali e per cad.

FREEdraft viene fornito con licenza GPL; è molto apprezzato un messaggio di comunicazione da parte di chi dovesse utilizzarlo. Il codice sorgente ed una schermata di prova sono disponibili all'indirizzo: http://www2.netcom.com/~iamcliff/techno.html
 
 

Sta arrivando il generatore di immagini Web WebMagick versione 1.39

In questa versione del software c'è una novità: un'interfaccia 100% compatibile JavaScript!

WebMagick è un pacchetto che rende l'operazione di trasposizione delle immagini su Web tanto facile quanto magica. Vorrà procurarsi WebMagick colui che:

  1. Ha accesso ad un sistema Unix
  2. Ha una grande collezione di immagini da portare tutte su Web
  3. È stanco di editarsi decine di pagine HTML a mano
  4. Vuole generare pagine molto sofisticate in cui collocare le proprie immagini
  5. Adora l'interfaccia interattiva basata su Javascript di questo pacchetto
  6. Non ha paura di installare pacchetti software così sofisticati
  7. Vuole utilizzare un software ben documentato (ci sono 40 pagine di manuale!)
  8. Ritiene sia importante supportare il software libero e gratuito
Dopo 12 mesi di lavoro di sviluppo WebMagick è realmente pieno zeppo di funzionalità interessanti. Il pacchetto è in grado di attraversare ricorsivamente gerarchie di aree, costruendo pagine HTML, immagini a mappa, e mappe sia sul versante client che su quello server che mettono l'utilizzatore in grado di navigare attraverso la collezione dei thumbnail creati (è, da questo punto di vista, molto simile al Visual Schnauzer di xv) e di selezionare l'immagine da vedere mediante il solo click del mouse. Di fatto WebMagick supporta il formato della cache di thumbnail proprio di xv per cui può essere utilizzato contestualmente a xv stesso.

L'aspetto principale che caratterizza WebMagick è il livello delle prestazioni. Le immagini thumbnail vengono ridotte e messe insieme per costituire un'unica immagine al fine di ridurre gli accessi del client e di conseguenza ridurre il carico di lavoro del server e migliorare le prestazioni del client. Ogni cosa viene o calcolata prima o calcolata all'interno del browser.

Utenti con browser che supportano JavaScript (Netscape 3 o 4 ed Explorer 4) hanno la possibilità di usufruire di un'interfaccia che riduce al minimo gli accessi al server. Poiché la generazione dell'HTML viene effettuata all'interno del browser la navigazione è molto più veloce e molto interattiva.

Durante la fase operativa WebMagick utilizza delle tecniche rivoluzionarie di utilizzo della cache e di abbattimento del lavoro al fine di rendere le esecuzioni successive molto più veloci. WebMagick è stato eseguito con grande successo su aree strutturate in centinaia di sottoaree e migliaia di immagini che andavano da piccolissime icone a grandissimi file JPEG o PDF.

Di seguito viene riportato un piccolo campione della miriade di formati di immagini che WebMagick supporta (48 in tutto):

WebMagick è stato scritto in PERL e richiede la presenza dei pacchetti ImageMagick (dalla versione 3.8.4 in poi) e PerlMagick (1.0.3 o successivo) così come una versione recente di PERL 5 (5.003 o successivo). Le istruzioni per l'installazione sono fornite con il pacchetto WebMagick in distribuzione.

WebMagick può essere scaricato utilizzando la pagina di WebMagick all'indirizzo: http://www.cyberramp.net/~bfriesen/webmagick/dist/, oppure
utilizzando il sito in cui viene distribuito ImageMagick (o uno dei suoi siti mirror) all'indirizzo ftp://ftp.wizards.dupont.com/pub/ImageMagick/perl/.
 
 

Lo sapevate?

... che la libreria 3.0 dei retini POV-Ray ha ora un suo dominio?  Si veda all'indirizzo: http://texlib.povray.org/.

Domande e Risposte

D:  Il Gimp è dotato di licenza GPL o LGPL?  Che differenza c'è tra le due?

R:  Allo stato attuale non sono certo di conoscere al cento per cento le differenze di carattere legale esistenti tra le due, cercherò di riferire quanto conosco e come lo interpreto. Innanzitutto il nocciolo del Gimp è soggetto a licenza GPL. I Plug-In (come quelli della versione 0.99.18) sono sottoposti a licenza mediante la libreria delle API Gimp che utilizzano, tale libreria viene definita libgimp ed è fornita di licenza LPGL. La licenza GPL - GNU General Public License (Licenza Pubblica Generica) - asserisce che un programma può essere modificato e ridistribuito da chiunque lo voglia purché le variazioni vengano ridistribuite con il sorgente. Ciò significa, credo, che se lo si vuole si può vendere il Gimp ma occorre distribuirlo con il codice sorgente, compreso ogni possibile cambiamento sia stato apportato al programma. Ciò significa anche, per converso, che il software che costituisce il nocciolo del Gimp non può essere incorporato in alcun programma proprietario - questi programmi, infatti, ricadrebbero sotto la giurisdizione della licenza GPL nel momento stesso in cui andassero ad utilizzare direttamente una qualsiasi parte del codice sorgente del Gimp.

I Plug-In dal canto loro differiscono da quanto finora detto in quanto può trattarsi di applicazioni commerciali, distribuibili senza codice sorgente. Essi, infatti, realizzano dei collegamenti nei confronti di libgimp (e di conseguenza nei confronti delle librerie Gtk, che sono anch'esse soggette alla licenza LGPL) ma non fanno alcun uso diretto del nocciolo del codice Gimp. La licenza LGPL sembra pertanto coprire i diritti delle librerie in distribuzione ma, nel contempo, consente ai programmi proprietari di far riferimento alle librerie stesse, pur se con qualche restrizione.

Almeno questo è quanto mi è parso di poter dedurre.

L'angolo della posta

hixson@frozenwave.com ha scritto (mail arrivata in Novembre): 'Musa :  Quanto appena fatto è per il momento il massimo che mi posso concedere, anche se come avvio non c'è male. Metterò un collegamento stabile nelle mie pagine LGH la prossima volta che le aggiornerò (non appena avrò l'opportunità di farlo).

    Nello scorrere alcuni vecchi messaggi di posta elettronica ho ritrovato la seguente discussione che ha avuto luogo ai primi di novembre 1997 e che riguardava l'uso degli ombreggiatori RIB con BMRT. Trovandomi un po' a corto di argomenti realmente interessanti questo mese ho pensato di condividere questi messaggi con voi.

Ed Holzwarth (eholzwar@MIT.EDU) ha iniziato scrivendo:

'Musa:  (Nota - Mi piacerebbe poter tornare a riprendere in mano BMRT. Per poterlo fare, però, devo imparare a non farmi carico di così tanti progetti contemporaneamente).

    Hmmm.  È un bel po' che non metto mano a BMRT e anche quando ho avuto modo di utilizzarlo non è che ne fossi esperto, in ogni caso mi sembra che il problema sia abbastanza banale. Mi sono messo a giocherellare con il testo inviatomi iniziando con l'inserirlo all'interno di un file RIB che normalmente utilizzo per testare oggetti e ombreggiatori. Sebbene abbia provato a modificare una gran varietà di parametri all'interno del RIB per gestire colori ed opacità, non ne ho avuto alcun giovamento reale. Ho provato allora a mettere mano ai due ombreggiatori ma anche in questo caso non è che abbia avuto molta fortuna.

    Ho cominciato così a riflettere su ciò che un ombreggiatore di volume fa realmente. Ad un ombreggiatore di volume non è associata alcuna primitiva geometrica, esso è legato, infatti, ad una superficie. E così mentre pensavo a quanto appena detto e a come la superficie era stata definita attraverso il RIB e l'ombreggiatore di superficie mi è venuta in mente l'idea geniale "Per Bacco! Forse la superficie non è del tipo che consente alla luce di attraversarla molto bene, anche se si predispone l'opacità su valori molto bassi". Ho provveduto allora a sostituire l'ombreggiatore di superficie utilizzato con un ombreggiatore BMGlass che ho prelevato da qualche sito Web (o forse proveniva dalle pagine di Larry Gritz, ora l'ho dimenticato - in ogni caso però l'ombreggiatore è stato scritto da Larry).

    Alleluia. Ha funzionato. Gli effetti dell'ombreggiatore di volume vengono visualizzati in maniera corretta utilizzando l'ombreggiatore di superficie tipo vetro (glass), ovvero, diciamo pure che i colori che ci si potrebbe aspettare dall'impatto degli ombreggiatori di volume sono ovvii e distinti. Seguendo la vecchia strada invece, tutto ciò che sono riuscito ad ottenere non era nulla di più che qualche riflessione da parte della superficie. Ora riesco ad ottenere la superficie con l'aggiunta degli effetti dell'ombreggiatore di volume.

    Non so se questa è proprio la soluzione giusta al problema affacciato, credo però che rappresenti un buon punto di partenza. Gli effetti degli ombreggiatori di volume sono fortemente dipendenti dalle modalità con le quali la luce attraversa un solido, e queste dipendono dalle caratteristiche della superficie che la luce deve attraversare. In conclusione, occorre innanzitutto smanettare con le caratteristiche della superficie (o utilizzare un ombreggiatore tipo vetro molto trasparente se non si vuole che la superficie giuochi un ruolo nell'effetto complessivo), quindi divertirsi un po' con l'ombreggiatore di volume.

Ed ha risposto:

'Musa:  Veramente grazioso!

E andando a spulciare la posta realmente vecchia ho trovato:

Rob Hartley <rhartley@aei.ca oppure robert.hartley@pwc.ca> ha scritto:

'Musa:  ... e piacere di conoscerla dal Texas! 'Musa:  La neve misurata in qualunque cosa che non siano millimetri è stata la ragione principale per cui ho lasciato il Colorado. Uno stato bellissimo, certo, purtroppo però non sono vaccinato contro gli inverni freddi. 'Musa:  Non sono sicuro che sia legale ridistribuire questi testi, ma è comunque interessante sapere che, per chi lo desidera, sono disponibili in formato elettronico. 'Musa:  In effetti lo ha già fatto! Grazie per la gran messe di informazioni meravigliose che ci ha dato! 'Musa:  Non è affatto una cattiva idea e dovrebbe essere anche disponibile abbastanza materiale da poterla rendere operativa. L'unico problema è che non ho il tempo di dividermi tra le due aree tematiche (e un lavoro, e altri impegni di scrittura, e tanto altro ancora ...). Naturalmente se qualche lettore volesse cimentarsi con la redazione di una delle due per vederla poi inclusa nella Musa si ritenga autorizzato a contattarmi. È appena superfluo osservare che verrà dato il massimo riconoscimento al lavoro che verrà svolto. La Musa va vista come un ulteriore spazio nel quale gli appassionati della grafica possono incontrarsi.




XeoMenu 1.1 della JavaSoft avrebbe dovuto già essere pronto. Ho soltanto rimandato la sua presentazione. A chi volesse iniziare a rendersi conto delle caratteristiche del pacchetto consiglio di dare un'occhiata a http://java.sun.com:81/share/classes/menu/source/source.html.  Buon divertimento!


 
Musings
 
indent

Font3D e XFont3D

    Uno dei problemi che si incontrano nell'uso della grafica tridimensionale per la creazione di logo è la mancanza di buoni dati di modellizzazione per i font. Una rapida rassegna delle varie banche dati di modelli, quali gli archivi Viewpoint Datalabs Avalon, oppure 3DSite, evidenzia la presenza di pochissimi modelli di font preconfezionati. Per di più, chi è che vuole tenersi un intero insieme di lettere in un dato font quali dati di modellizzazione? Dopo tutto quante volte capiterà di utilizzare X, Q o Z? (Gli artisti del Cyberspazio, naturalmente, li usano in ogni momento, ma questa è un'altra storia).

    Fortunatamente il problema testé accennato si risolve facilmente utilizzando il programma di Todd Prater Font3D. Si tratta di un pacchetto per la conversione di stringhe di testo, mediante l'utilizzo di un dato font, in dati di modellizzazione che possono essere letti da una discreta varietà di programmi di modellizzazione e da diverse utility di rappresentazione. I formati in output includono il supporto per POV-Ray (in entrambi i formati 2.x e 3.x), Radiance, Vivid, Autocad DXF, RenderMan RIB e RAW Triangles. I dati per la modellizzazione possono essere generati utilizzando un nutrito insieme di opzioni di comando di Font3D. Sono disponibili funzioni che realizzano retini superficiali, arrotondamento delle superfici anteriore e posteriore, calcolo della lunghezza della superficie e dei tagli laterali per l'arrotondamento e posizionamento di oggetti. Font3d supporta i formati dei font TrueType sia di Macintosh che MSWindows.

    Ritengo che Font3D sia shareware. Il file register.txt, infatti, dice che il programma può essere utilizzato con la modica spesa di $10 (US), sebbene non dica esplicitamente che occorre registrarsi per utilizzarlo. Poiché i file forniti con l'ultima versione, la 1.60, riportano la data di creazione del gennaio 1996, ho il vago sospetto che al pacchetto Font3D non siano state apportate ulteriori modifiche da allora o che soltanto gli utenti che abbiano provveduto a registrarsi le abbiano ricevute. E così, ancora una volta, dopo che uno ha sperimentato una grande disponibilità di opzioni e comandi, allorché vorrebbe veder aggiunte nuove caratteristiche al software non sa se mai riuscirà a vederle.

    Chi lo desideri può procurarsi il codice sorgente C++ di Font3D dagli archivi principali, all'indirizzo http://www-personal.ksu.edu/~squid/font3d.html. Si può anche decidere di scaricarsi una versione meno corposa ma più vecchia dagli archivi POV-Ray, all'indirizzo: ftp://ftp.povray.org/pub/poray/utilities. La versione più recente presente in questo sito è la 1.51 e non so dirvi le motivazioni che hanno portato, a distanza di tanto tempo, a non aggiungere la versione 1.60 agli archivi POV-Ray. Va notato anche che la versione 1.51 comprende nel file .zip, insieme al codice sorgente C++, anche gli eseguibili per DOS e OS/2 che risultano piuttosto ingombranti. Dalla versione 1.60 sono stati esclusi gli eseguibili per DOS e OS/2 ed è presente soltanto il codice sorgente.

    I sorgenti della versione 1.60 vengono forniti in un file zippato. Per chi come me non ha familiarità con il C++ non c'è alcun motivo di preoccuparsi, il programma Makefile compreso nel pacchetto provvede alla compilazione dei sorgenti senza apportare modificazioni. Non c'è molto di più da fare che compilare i sorgenti per poter cominciare a lavorare con gli eseguibili nella maniera più agevole possibile. Il Makefile dà per scontato che si disponga di GCC/G++ installato e funzionante nella propria area, il che per gli usuali utenti Linux è cosa pressoché banale, soprattutto se il sistema è stato installato a partire da uno dei ben noti pacchetti in distribuzione (Red Hat, Debian, SuSE, Slackware, ecc.). In definitiva basta seguire le istruzioni per l'istallazione su sistemi Unix che si possono trovare nel file font3d.txt, o se si preferisce nel documento font3d.ps.

    Il codice sembra abbastanza stabile e produce file utilizzabili sia mediante POV che RIB (mediante BMRT) così come file DXF e RAW che possono essere analizzati dall'ultima versione del modellizzatore AC3D.

    Font3D elabora una stringa assegnata utilizzando un font specifico e analizzando un insieme di comandi che possono essere specificati o nella riga di comando o in un file di configurazione. Le varie opzioni dei comandi ricadono in 8 categorie fondamentali.
 

Categorie Comandi
Font font, font-path, map
Visibilità faces, sides, bevels, front-face, back-face, front-bevel, back-bevel
Retinatura texture, face-texture, side-texture, bevel-texture, front-face-texture, back-face-texture, front-bevel-texture, back-bevel-texture
Arrotondamento bevel-type, cut, face-cut, side-cut, front-face-cut, front-side-cut, back-face-cut, back-side-cut
Oggetto char, code, depth, resolution, string, triangle type
Output coordinate-system, constants, format, name, output, output-path, precision
Posizionamento xpos, ypos, zpos
Varie config, verbose
Per specificare i comandi da utilizzare si può utilizzare un file di configurazione. Per specificare il nome del file di configurazione si può utilizzare il comando config oppure si può predisporre la variabile di ambiente FONT3D_DEFAULT_CONFIG:

Per coloro che utilizzano le shell bash/ksh/sh: 

    FONT3D_DEFAULT_CONFIG=<path>/<config_file_name> 
    export FONT3D_DEFAULT_CONFIG
e per coloro che utilizzano csh: 
    setenv FONT3D_DEFAULT_CONFIG <path>/<config_file_name>
Se non viene specificato alcun percorso il file di configurazione di default (font3d.def) viene cercato nella stessa area nella quale si va a lanciare Font3D. Si noti che la variabile FONT3D_DEFAULT_CONFIG specifica il percorso ed il nome del file di configurazione, e non soltanto il nome del percorso per arrivare al file config.

    I comandi, sia che si trovino nel file config sia che vengano dati dalla riga di comando assumono sempre l'aspetto di una coppia "nome=valore". Se la parte "valore" del comando comprende degli spazi deve essere racchiusa tra doppi apici. L'unico caso in cui tale regola trova applicazione è probabilmente quello relativo al comando string utilizzato per specificare il testo per il quale verranno generati degli oggetti.

    Per default Font3D utilizza POV-Ray come rappresentatore d'anteprima, il che significa che il file di default in output sarà un file di include per POV-Ray. È prevista la possibilità di dare nomi alle entità per gli oggetti POV, anche se nessun altro formato in output consente di dare nomi agli oggetti. Font3D utilizza anche, per default, un sistema di coordinate destrorso, anche se si può modificare questa caratteristica mediante l'opzione a riga di comando coordinate-system. Si noti, a puro titolo di esempio, che POV-Ray utilizza un sistema di coordinate sinistrorso. Mi pare che avrebbe avuto più senso utilizzare un sistema sinistrorso come sistema di default visto che il formato di default in uscita è POV-Ray compatibile. Il programma gestisce per default oggetti collegati a stringhe ma si può anche specificare un singolo carattere utilizzando il comando char. Si può poi anche specificare il codice di carattere di un singolo glifo utilizzando il comando code.

    La retinatura è supportata per i soli formati in output POV compatibili. Ci si riferisce ad un retino utilizzando soltanto il suo nome, e quindi lo si applica all'oggetto individuato. Font3D non può essere utilizzato per generare direttamente un retino.

    I comandi di visibilità determinano soltanto se un componente (faccia anteriore, arrotondamento, ecc.) verrà visualizzato nell'immagine rappresentata. Se si disabilita la visibilità di un componente quest'ultimo viene comunque generato come parte dell'oggetto del file di output. In pratica si ha che l'eliminazione della visibilità di diversi componenti riduce le elaborazioni legate ai poligoni necessari agli oggetti utilizzati, anche se non elimina in alcun modo l'arrotondamento operante. Se il taglio di una faccia o di un lato è diverso da zero, allora l'arrotondamento ci sarà ancora, eccettuato il caso in cui la visibilità sia stata tolta, perché allora l'oggetto avrà un gap nel punto in cui avrebbe dovuto essere l'arrotondamento.
 
 

 

- Continua all'inizio della colonna accanto -
indent Ulteriori approfondimenti ...  
  • Per questo mese niente!
  •    Arrotondamenti, lati e facce si comprendono molto meglio con un semplice diagramma.

        Come si può vedere è possibile predisporre un insieme piuttosto limitato di caratteristiche degli oggetti generati. In ogni caso non è possibile creare lettere completamente arrotondate mediante l'utilizzo delle caratteristiche di smussamento degli spigoli che Font3D mette a disposizione. Lo smussamento degli spigoli (sia nel caso che si utilizzino forme di smussatura arrotondata che piatta) funziona benissimo per la generazione di sottili effetti sulle lettere. Ciò avviene perché lo smussamento arrotondato viene realizzato mediante triangoli levigati applicati su uno smussamento piatto, che approssima soltanto l'apparenza di arrotondamento alterando le normali nei vari punti dei triangoli. Mi sono già occupato di questo tipo di problema discutendo il supporto che BMRT fornisce allo spostamento vero nel numero di giugno della Musa della Grafica - Versione italiana nell'approfondimento intitolato BMRT parte II: Ombreggiatori RenderMan. Inoltre non tutti i formati supportano i triangoli levigati, ma ciò nonostante questi triangoli vengono considerati una caratteristica di default (POV-Ray li supporta) e si raccomanda il loro utilizzo per le rappresentazioni finali. Naturalmente le vedute di anteprima potranno essere effettuate anche senza di loro, al fine di ottenere una diminuzione consistente del tempo di rappresentazione.

    Il file fornito in output da Font3D è corredato da commenti che precedono il codice, come si può vedere in font3d-1.txt. Ciò rende particolarmente agevole la determinazione del come riprodurre gli oggetti a seconda delle esigenze. Il codice oggetto prodotto può essere osservato nei file di esempio POV-Ray 3.x e RIB. I file di esempio riportati sono ovviamente accorciati visto che gli originali superano i 700 Kbyte. Si noti che il file RIB è in un formato utilizzabile per l'include mediante il comado RaedArchive. Gli esempi di cui stiamo parlando producono le seguenti immagini:

    POV-Ray
    RIB

    Come si può notare gli oggetti generati sono abbastanza simili, anche se le opzioni di rappresentazione non sono state ottimizzate per cui non si può fare un confronto tra le due rappresentazioni.

    Font3D è rilasciato unitamente ad una documentazione di notevole livello sia in formato testo che in versione postscript, per complessive 30 pagine circa. Nel documento è compresa una descrizione approfondita di tutte le opzioni dei comandi di riga.

    Sebbene Font3D offra moltissime caratteristiche eccezionali può non essere uno scherzo ricordare come utilizzarle tutte. Grazie al cielo Robert S. Mallozzi ha aggiunto a Font3D un sistema di input (front-end) basato su XWindow che egli stesso chiama XFont3D. Il pacchetto XFont3D è un sistema di accesso che poggia su XWindow e che include la capacità di effettuare delle vedute d'anteprima conformi a POV. Il che significa ovviamente che il software sa come eseguire POV ma non conosce nessun altro formato supportato da Font3D.
    Per gli utilizzatori di POV segnalo che (almeno apparentemente, visto che non l'ho sperimentato direttamente) esso è in grado di eseguire tutte le opzioni dei comandi di riga che Font3D è in grado di gestire.
     

    Interfaccia di XForm

    L'uso di questa interfaccia è abbastanza semplice almeno per chi conosce la struttura dei comandi Font3D. Se si clicca sul tasto che si trova al di sotto della riga delle opzioni sulla destra della finestra l'area di riferimento alla sinistra di quest'ultima si trasforma e compaiono una serie di tasti e campi di input. Molte delle opzioni corrispondenti a questi tasti possono essere riportate ai loro valori di riferimento utilizzando i piccoli tasti quadrati con sopra il punto nero (basta cliccare su di essi una sola volta). In generale si procede innanzitutto selezionando un font (si può utilizzare il tasto dei font per accedere ad una finestra di selezione file), poi si specifica la stringa da generare e infine il nome del file di uscita. Dopo aver fatto quanto detto si può passare a specificare le opzioni di configurazione ed il formato del file in uscita (RIB, POV, ecc.). La modifica del tipo di applicazione (MS, che dovrebbe voler dire che si ha a che fare con un PC per non annoiare i tradizionalisti di unix come me, o i fan di Mac) ovvero del verso del sistema di coordinate non dovrebbe, quasi sicuramente, essere necessaria, ma tutto dipende, ovviamente, dalle proprie esigenze.
     
     

     
     
    Resources

    I riferimenti che seguono rappresentano esclusivamente il punto di partenza per l'acquisizione di ulteriori informazioni sulla computer grafica e, più in generale, sulla multimedialità, per sistemi Linux. Se disponete di informazioni specifiche su qualche applicazione e me ne mettete al corrente le aggiungerò alle mie pagine o, se lo preferite, potrete contattare qualche altro amministratore di siti web e prendere accordi con lui. Prenderò in considerazione la possibilità di aggiungere qualche altro riferimento di carattere generale qui di seguito, ma informazioni specifiche su applicazioni o siti troveranno sicuramente una migliore collocazione nei riferimenti di caratter generale riportati di seguito piuttosto che qui.
     
    mini-Howto della grafica su Linux
    Programmi utili per la grafica su Unix
    La pagina della Multimedialità per Linux

    Ecco alcune delle Liste di posta elettronica e dei Newsgroup che tengo sotto controllo e da cui traggo la maggior parte delle informazioni presentate in queste pagine:

    Le liste dell'utente Gimp e dello sviluppatore Gimp.
    La lista di discusione su IRTC-L
    comp.graphics.rendering.raytracing
    comp.graphics.rendering.renderman
    comp.graphics.api.opengl
    comp.os.linux.announce

    Sviluppi Futuri

    Per il prossimo mese:
    XeoMenu, innanzitutto.  libgr potrebbe essere un ulteriore argomento, o forse IPAD o VRWave, se riesco a far funzionare almeno uno dei due per tempo.

    Fatemi sapere di cosa volete che mi occupi!


    Alla Home Page

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