Tools per l'utilizzo di sistemi di grafica virtuale ed immersiva con sistemi di supercalcolo remoto per il lavoro cooperativo a livello geografico.
NOTA
Per avere accesso alle librerie grafiche e poterle eseguire, occorre un' utenza AFS con cui collegarsi al sistema .
Cos'è AFS e come richiedere un account
OpenSceneGraph (OSG) è una libreria grafica 3D portabile, open source,
realizzata per progetti a prestazioni elevate e quindi usata per applicazioni come
simulazioni di volo, giochi, realtà virtuale, modellazione e visualizzazione
scientifica, ecc...
Questa libreria è scritta interamente in C++ (Object Oriented) e
OpenGL e puņ
essere portata in tutte le piattaforme e sistemi operativi Windows, OSX, Linux,
IRIX, Solaris e FreeBSD.
Il pacchetto OpenSceneGraph contiene al suo interno tutti i principali core
della libreria indispensabili per il suo corretto funzionamento.
Ecco la lista di alcuni core di OpenSceneGraph:
osg: è il cuore dello Scene Graph, include anche il supporto per l'apertura di file .osg e formati di file RGB.
osgUtil: è la classe che contiene al suo interno numerose utility come il setup o il rendering/draw.
osgDB: è la libreria delle utility per la gestione di letture e scritture di database 3D e files immagine.
osgParticle: è il pacchetto di gestione dell'effetto particelle.
osgText: è il pacchetto per la gestione del testo; contiene al suo interno le classi per il rendering di font true type.
osgSim: è una libreria per le simulazioni visuali.
osgGA: è la libreria per la gestione della Graphic User Interface (GUI)astratta.
osgProducer: è la classe che contiene le basi per la visualizzazione della scena. Implementa anche un semplice demo del Producer per la costruzione
di una finestra e l'interazione keyboard-mouse.
OSG include numerosi Plug-in che semplificano le azioni di importazione ed esportazione di formati di file grafici nei diversi formati di ultime generazioni. Eccone alcuni esempi:
osgPlugin: per la gestione di file nativi (.osg).
fltPlugin: per la gestione di file Open Flight (.flt ).
lib3dsPlugin: per la gestione di file Auto Studio Max (.3ds).
lwoPlugin: per la gestione di file Light Wave binari (.lwo, .lw, .geo).
rgbPlugin: per la gestione di file RGB.
pngPlugin: per la gestione di file PNG.
gifPlugin: per la gestione di file GIF.
jpegPlugin: per la gestione di file JPEG.
tgaPlugin: per la gestione di file TGA.
tiffPlugin: per la gestione di file TIF.
Vantaggi
dell'OSG
Performance
La libreria supporta il view frustrum culling, occlusion culling e small feature
culling, nodi LOD, state sorting, vertex array e liste di display come parte del
nucleo di una scene graph. Tutte queste caratteristiche messe assieme fanno
dell'OSG una delle librerie con le più elevate prestazioni. Di conseguenza si
ha che le performance uguagliano o sorpassano tutto ciò che era stato
ottenuto con altre librerie di scene graph come Open Performer, VTree, Vega
Scene Graph, e Java3D. L'OSG fornisce infatti una facile personalizzazione
del processo di disegno, che ha permesso così l'implementazione delle
strutture con Livello Continuo di Dettaglio (Continuous Level of Detail,
CLOD) nell'utilizzo più profondo delle scene graph.
Produttività
Alla base dell'OSG si provvede di incapsulare le maggior parte delle
funzionalità di OpenGL, incluse le più recenti estensioni; vengono fornite
inoltre ottimizzazioni a livello di rendering come il culling e il sorting, e un
intero insieme di librerie add-on che permettono di sviluppare applicazioni
grafiche con alte performance a livello di velocità.
Portabilità
La struttura della scene graph è stata così ridisegnata per avere una minima
dipendenza su alcune specifiche piattaforme, richiedendo poco più che lo
Standard C++ e OpenGL. Ciņ ha consentito alla scene graph di essere
rapidamente portabile su una vasta quantità di piattaforme originariamente
sviluppata su IRIX, poi su Linux, e infine su Window, FreeBSD, Mac OSX,
Solaris, HP-UX e su PlayStation2.
Scalabilità
L'OSG non solo gira su quasi la totalità dei sistemi operativi, ma integra i
molteplici sottosistemi grafici inclusi su macchine come un Onyx multipipe.
Questo è possibile poichè l'OSG supporta svariati contesti grafici per
entrambi OpenGL Display Lists e oggetti texture, e le operazioni di cull e
draw sono state predisposte per il cache rendering data localmente e usano le
scene graph quasi interamente come un'operazione di read-only. Questo
permette a molteplici coppie di istruzioni cull-draw di girare su diverse CPU
che sono legate a diverse sottosistemi grafici. Tutti i sorgenti dell'OSG sono pubblicati sotto l'Open Scene Graph Public
License (una versione di LGPL) che permette l'uso, la modifica e la diffusione
per entrambi i tipi di progetto open source e
no.