2012-06-27

OpenSceneGraph

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.




2012-06-02

QGis - VTerrain plugin - Caricamento progetti VTP

La nuova versione di VTerrain plugin per QGis, di prossimo rilascio, contiene importanti funzioni di visualizzazione dei formati di elevazione di Virtual Terrain Project.

La prima novità riguarda il caricamento del file ITF, Interchange Tin Format, il potente formato per i Triangulated Irregular Network, di cui abbiamo già parlato più volte in questo blog, che permette la memorizzazione di superfici provenienti da rilevamenti LiDAR e SfM, ovvero Structure From Motion, una tecnica che estrae nuvole di punti 3D, a partire esclusivamente da foto.

Il plugin visualizza, tramite Enviro, il file ITF corrispondente all'immagine 2D in formato TIF, con lo stesso nome, caricata in QGis.

Nell'esempio che segue, abbiamo caricato  l'immagine a colori "duomotin.itf.tif" in QGis,  e abbiamo visualizzato "duomotin.itf"con Enviro, tramite la chiamata del plugin VTerrain.




Con la stessa modalità possiamo caricare in QGis e conseguentemente visualizzare in 3D, tramite VTerrain plugin, anche il file grid in formato BT, utilizzando un'immagine chiamata "nomefile.bt.tif".

Ovviamente, rimane attiva la possibilità di caricare direttamente il file BT all'interno di QGis, essendo uno dei formati previsti dalla libreria GDAL, e visualizzarlo con Enviro.

La seconda importante novità del plugin VTerrain è il caricamento dei progetti Enviro, sempre tramite un file TIF, che dovrà chiamarsi  "NomeProgetto.vtp.tif".    In questo caso, verranno utilizzati tutti i parametri impostati nel progetto Enviro, come l'ortofoto, i livelli vettoriali, gli edifici, le strutture e gli alberi e le viste salvate.

Nelle immagini seguenti, vediamo il modello di Gaeta, completo con il castello 3D realizzato da Antonello Buccella (che ringraziamo), a partire dall'immagine ".vtp.tif" caricata in QGis.




Ma non finisce qui.
Per ultima, ma non perché meno importante, una nuova funzione del plugin permette di visualizzare in un layer QGis i punti 3D selezionati in Enviro, potendo così effettuare misurazioni, esportare coordinate, disegnare vettori, eccetera.    Alla fantasia e l'immaginazione di tutti inventare utilizzi per questa funzione  VTerrain_XYZ.





Per partecipare al beta test di tali funzioni, inviate una eMail, con oggetto:

VTERRAIN_PLUGIN_BETA_TESTER

all'indirizzo:

exporttocanoma @ gmail . com