Thanks to a grant by NEH – National Endowment for…
Volume render in Blender per evoluzione di ammassi di Galassie
Con in mente l’obiettivo di produrre visualizzazioni che possano meravigliare, affascinare ed ispirare lo spettatore, immergendolo nella dimensione astronomica dell’evoluzione di galassie, siamo partiti da dei dati di simulazioni astrofisiche fornite dal gruppo MAGCOW del dipartimento di Fisica e Astronomia dell’Università di Bologna per creare una pipeline di analisi e visualizzazione scientifica dei dati stessi, sotto la supervisione di Giannandrea Inchingolo, membro del gruppo MAGCOW ed in collaborazione con lo studente Paolo Zuzolo (supervisione Serena Morigi, (AM)^2 research group – Dipartimento di Matematica, Università di Bologna). Il framework per la pipeline è stato incentrato sull’utilizzo della libreria di visualizzazione scientifica e 3D computer graphics VTK (Visualization ToolKit) con cui veniva definito un formato per i dati che permettesse di processarli, interagirvi e pre-visualizzarli. Queste ultime due operazioni sono state eseguite tramite il software open-source di visualizzazione scientifica Paraview, basato a sua volta sulla libreria VTK. Dopo questa prima fase di analisi dati e pre-visualizzazione, i dati sono stati successivamente elaborati in Blender per la realizzazione della visualizzazione finale. In quest’ultima fase sono state utilizzate contemporaneamente più tecniche di rendering, a seconda del tipo di dato, avvalendosi dei numerosi strumenti di compositing e video making disponibili.
Vediamo ora nel dettaglio i vari stadi della pipeline eseguita.
I dati della simulazione si presentavano inizialmente come dati volumetrici e point cloud. Sono stati quindi visualizzati in Paraview, i primi tramite volume rendering ed il secondo tramite geometric rendering.
Una volta completato il lavoro di pre-visualizzazione e definizione degli assets della visualizzazione in Paraview, ci siamo spostati su Blender per ottenere una visualizzazione scientifica in cui anche i tratti artistico-estetici dei dati potessero essere messi in evidenza. Qui i dati volumetrici, in formato VDB, sono stati visualizzati con la tecnica di resa volumetrica disponibile in Blender con motore di rendering Eevee, che consente un lavoro di tuning più veloce ed efficiente. Una delle parti impegnative è stata quella di definire un mapping dei dati in una palette di colori che sia allo stesso tempo esteticamente gradevole e significativa per i dati, evidenziando strutture e caratteristiche scientificamente rilevanti. Nel caso specifico, alcuni dei dati da visualizzare hanno un’estensione di range di diversi ordini di grandezza tra loro, per cui è stato necessario trovare dei colori che permettessero di vedere sia i valori più alti del range (corrispondenti agli ammassi di galassie), sia i valori più bassi (corrispondenti ai “bracci” che uniscono gli ammassi a formare quella che viene chiamata cosmic web). A tale scopo inoltre le color ramps ottenute sono state composte tra loro con tecniche di blending modes per immagini, disponibili nel set di shading nodes di Blender.
Per l’importazione del dato point cloud, rilevante è stato il supporto fornito dall’add-on di Blender BVTK-Nodes, realizzato da VisitLab del Cineca: il plug-in permette di tradurre una pipeline VTK in un grafo di nodi di Blender. E’ stato così estremamente facile importare in Blender il dato point cloud precedentemente processato in VTK tramite Paraview e controllare da codice la sua resa grafica unendo la versatilità di animazione in CG di Blender con la fedeltà scientifica ai dati assicurata da VTK. Ad esempio, in questa fase, le tracks VTK sviluppate in Blender sono state utilizzate per creare le scie che le particelle tracciano alla loro “nascita”.
Durante la fase finale di regia dell’animazione, prevista per essere realizzata in VR stereoscopico, si sta lavorando per assicurare allo spettatore una visione più immersiva dei dati, utilizzando le tracks delle particelle come binario per il posizionamento della camera e proiettare così in prima persona lo spettatore nell’evoluzione degli ammassi di galassie.