Mi sembra che ultimamente si parli sempre più di OpenGL. Forse è solo una deformazione professionale, visto che me le sono trovate davanti per motivi di studio, ma forse questo crescente interesse per la grafica 3D è anche dovuto a motivazioni di carattere tecnologico ed economico. La costante riduzione dei prezzi per quel che riguarda l'hardware ha fatto sì che una certa tecnologia, un tempo dominio esclusivo di specialisti, potesse entrare in tutte le case, o almeno in quelle ove si fa uso di un personal computer. Tant'è che ormai questa libreria è parte integrante della maggior parte parte dei sistemi operativi.
Siccome OS/2 Warp 4 è uno di questi (per Warp 3 le OpenGL sono comunque reperibili su internet), cerchiamo di indagare meglio la materia.
Le OpenGL costituiscono una libreria di funzioni, evoluzione di una precedente libreria della Silicon Graphics, che permettono il rendering di scene 3D. Queste funzioni sono di basso livello, permettono cioè la sola descrizione di primitive grafiche elementari quali punti, linee e poligoni convessi. Altre funzioni vengono usate per le trasformazioni geometriche necessarie per collocare nello spazio tali forme geometriche. Un'ultima importante categoria, infine, serve per descrivere l'aspetto degli oggetti, ovvero i loro colori e le tessiture. Solo attraverso la loro combinazione si possono descrivere scene sufficientemente complesse.
In realtà la problematica è molto più ampia, ma lo scopo che mi sono proposto non è certamente quello di iniziare qui un corso di grafica 3D. Voglio però portare a conoscenza dei nostri lettori l'esistenza di un potente strumento che, nella maggior parte dei casi, sonnecchia nel loro PC.
Prima ancora di far nascere delle illusioni, preciserò subito che l'obiettivo della libreria OpenGl non è quello di un rendering fotorealistico, quale lo si ottiene con algoritmi di raytracing o radiosity. Per raggiungere tali risultati sono necessari tempi di calcolo considerevoli, mentre le OpenGL vengono spesso impiegate per sistemi real-time.
A cosa servono allora queste OpenGL se, per un motivo o per un altro, con la grafica 3D non si ha mai avuto a che fare? Sia detto allora che, col passare del tempo, certe tecniche di rappresentazione, certe interfaccie, fanno un uso sempre più intensivo di questa tecnologia. Per quanto riguarda la grafica 2D, infatti, l'ampissima diffusione delle GUI ne è una evidente dimostrazione. Ma l'era della multimedialità ci porta più avanti. Un esempio: il VRML! Questo strumento permette, combinando immagini, suoni e chissà che altro, di sperimentare un nuovo modo di esplorare le informazioni. E questo linguaggio, neanche a farlo apposta, sfrutta la grafica tridimensionale, che può essere visualizzata in maniera relativamente semplice alle con le funzioni OpenGL (ancora una coincidenza?).
L'uso di programmi che utilizzano le librerie OpenGL richiede l'installazione sul sistema di alcune DLL: circa 4.5MB di roba.
Per i possessori di Warp 4 questa procedura è alquanto banale in quanto, durante la fase di installazione del sistema, o successivamente con l'Installazione Selettiva, è sufficiente selezionare la voce relativa, sotto Tools and Games (nella versione anglofona).
Per i possessori di Warp 3, invece, è prevista una passeggiata in internet, alla ricerca del pacchettino con il runtime per le OpenGL: ftp://ftp.austin.ibm.com/pub/developer/os2/OpenGL oppure http://www.rs6000.ibm.com/software/OpenGL/oglos2.htm. Sul sito Web si segnala che per problemi di licenze (??), il download non è consentito ad utenti che si trovano fuori dagli Stati Uniti: il mio consiglio è di non considerare la cosa troppo rigidamente (anche perché l'alternativa è costosa). Altrimenti provate con il sito ftp dove questo avvertimento non c'era.
Gli unici problemi che possono sorgere sono legati alla scheda video. Fino a qualche mese fa disponevo di una scheda video Diamond Stealth SE, con chip S3. Il semplice avvio di un programma con le OpenGL rendeva il sistema assolutamente instabile, se non addirittura inutilizzabile. Passando ad una Matrox Mystique il problema è stato brillantemente risolto. Tuttavia, molte schede di altri produttori, seppur basate su chip S3, non hanno dato di questi problemi. È tutta una questione di drivers!
A questo punto non resta che verificare il funzionamento. Chi ha Warp 4 troverà sul Sampler CD alcuni semplici esempi. Per gli altri suppongo che questi si trovino nel pacchetto scaricato da internet (non l'ho verificato personalmente, vista anche la bassa velocità con la quale ultimamente raggiungo i siti IBM).
Alcuni programmi che usano le OpenGL sotto OS/2 sono i seguenti:
WarpSpace: questo programma è in realtà
un plugin per Netscape che visualizza automaticamente i files con estensione .wrl, cioè modelli
VRML, quando vengono scaricati dalla rete. Ovviamente funziona anche offline, caricando il file che
interessa direttamente dal disco. Attualmente il programma si trova in uno stadio di Beta3 ed è
liberamente scaricabile presso il sito indicato sopra. Dallo stesso sito si può anche scaricare
il modulo runtime per le OpenGL.
Il modulo funziona bene, anche se qualche volta ci sono problemi di stabilità (giustificati, considerato lo stato non definitivo). La maggiore carenza, a mio avviso, è l'interfaccia per l'interazione con i modelli; a differenza di altri lettori VRML (ad esempio il Netscape Navigator per Silicon Graphics) questa è ridotta al minimo: le varie operazioni di rototrastalzione si ottengono con diverse combinazioni nella pressione dei tasti del mouse. |
ESCAPEGL di
Snow Storm Software: un simpatico
screensaver che si integra nella WPS e visualizza semplici animazioni tridimensionali oppure
modelli VRML. Selezionato uno screensaver (altrimenti si può impostare una selezione
automatica casuale), si possono definire i vari parametri nel relativo blocco delle impostazioni.
Per i modelli VRML i settaggi sono più numerosi, per una migliore visualizzazione del modello. Va comunque segnalato che per questi non esiste, come ad esempio per WarpSpace, alcuna possibilità di interazione. |
Anche il terzo programma, VRML/2, è un browser VRML. Purtroppo. ancora in fase di beta-testing, non è liberamente disponibile. |
Non voglio fare valutazioni di prestazioni: il mio computer non è certo all'avanguardia (pentium 90) e non costituisce sicuramente una di quelle valide alternative alle workstations grafiche cui mi riferivo nell'introduzione. Finché il carico di lavoro ricadrà completamente sulla CPU, anziché sul processore grafico, non potremmo certo aspettarci l'animazione di complessi modelli a 25fps.
Voci di corridoio sussurano che in IBM si stia lavorando alla nuova versione della libreria OpenGL, la 1.1. Anche se questo avviene con il solito ritardo rispetto ad altre piattaforme, è sicuramente un buon segno. La cosa, tutto sommato, non deve preoccupare molto poichè le differenze non sono abissali (di rilevante solo una più comoda gestione delle textures).
Le solite voci, inoltre, vociferano che ci sia l'intenzione di scrivere alcuni drivers per schede grafiche con supporto hardware per le OpenGL. Si consideri che, attualmente, l'implementazione è unicamente software: questo, se da un lato non preclude a nessuno la possibilità di sfruttare la libreria, vanifica la spesa aggiuntiva per un hardware specializzato. Sembra addirittura che la Matrox sta preparando dei drivers per la sua Millennium II. Tuttavia, per una maggiore diffusione fra i professionisti, ci si aspetta che i drivers vengano invece sviluppati per schede con caratteristiche notevolmente superiori.
Anche chi, pur essendo a digiuno di programmazione, si sente un minimo affascinato dalla materia è invitato ad una rapida sbirciatina: non mancheranno interessanti links che potrebbero dischiudere nuovi orizzonti.
- [ Pagina precedente ] - - [ Sommario ] - - [ Just WARP! homepage ] - - [ Pagina successiva ] - |