All'interno del software di Virtual Terrain Project c'è una importante e potente libreria grafica di visualizzazione territoriale, basata sul concetto di "scene-grafo", che è un elenco di oggetti grafici tridimensionali legati insieme ad albero, in cui ogni oggetto ha i suoi parametri che possono dipendere o trasmettere i valori ai nodi precedenti o seguenti.
Tale concetto ha origine in formati e linguaggi 3D come OpenInventor, come il VRML e X3D, Collada DAE e ... OpenSceneGraph !
La potenza di OpenSceneGraph sta nella sua flessibilità, con il meccanismo di estensione a plugin, con cui si possono "inglobare" virtualmente tutti i formati grafici esistenti, e nel fatto che esso è presente praticamente su tutte le piattaforme, intese come sistemi operativi (Windows, Linux, MacOSX...).
Inoltre, OpenSceneGraph è ... open source.
Come si programma OpenSceneGraph ?
A questo proposito la documentazione è importante quanto gli esempi di codice. E cosa c'e' di meglio di un libro?
Ricette di OpenSceneGraph 3
E' di prossima uscita il libro "OpenSceneGraph 3 Cookbook" ovvero "risposte veloci a problemi comuni".
Si tratta di 80 "ricette" che mostrano tecniche di programmazione 3D avanzate con OpenSceneGraph, il potente motore di rendering territoriale real time, open source, prodotto da Robert Osfield e altri programmatori sparsi per il mondo.
Il libro, di oltre 400 pagine, scritto da Rui Wang e Xuelei Qian, si divide in dieci capitoli, che affrontano le principali problematiche relative alla programmazione di OpenSceneGraph, dalla configurazione di CMake, alla compilazione su device mobili, alla creazione di oggetti dinamici, alle superfici NURBS.
In sostanza, ci sembra essere un libro necessario a tutti quelli che professionalmente o per passione si occupano di 3D territoriale, e che hanno bisogno di avere raccolte insieme e pronte ad essere consultate tutta una serie di informazioni essenziali ed avanzate per poter programmare OpenSceneGraph e le proprie applicazioni 3D con successo.
Prima ricetta per iniziare: CMake e la preparazione dell'ambiente di sviluppo.
Come creare la base per un plugin di OpenSceneGraph. Vengono spiegati tutti i vari passaggi necessari per configurare la macchina, le variabili di ambiente ed il loro significato e uso, mostrando le schermate del terminale durante la compilazione dei moduli. Sono tutte informazioni che difficilmente Ë possibile trovare insieme organicamente, e che in questo modo risultano essere molto utili, se non essenziali, come in qualche caso.
Seconda ricetta: come portare un programma scritto con OpenSceneGraph a girare su differenti piattaforme, Windows, Linux, MacOSX.
Il meccanismo di "impacchettamento" viene realizzato attraverso "CPack", un sistema integrato con CMake, che permette di creare automaticamente gli RPM, DEB e GZIP o gli installer di Windows del proprio programma, per la distribuzione.
Il libro spiega anche (finalmente ?) agli utenti di MacOSX come utilizzare XCode per creare le proprie applicazioni OpenSceneGraph. Chi conosce (come me) la programmazione MacOSX sa quanto puo' essere utile qualunque informazione a riguardo, organizzata e pronta.
Viene affrontato anche il tema dello sviluppo di applicazioni 3D sulle varie piattaforme mobili, come Android e iOS, incluso iPhone e iPad.
Seguendo le "ricette" dei capitoli del libro, si riesce a creare una propria applicazione 3D Territoriale da zero, il che non e' poco.