Webbit è il nome di una grande manifestazione di ICT (Information and Communication Technology) che si svolge annualmente con più di 500 workshops e certificazioni. Quest’anno sono stato a Padova con gli amici e collaboratori di GPI (Game Programming Italia) dove abbiamo organizzato 5 differenti workshops incentrati sul game-development. Il mio workshop si è concentrato sui principi dello sviluppo di motori di simulazione fisica 3D a relatime ed è stato incluso nella certificazione “Multimedialità”. Di seguito potete scaricare le slides e le demo che ho illustrato durante la relazione
Category Archives: Windows
Simulazione di liquidi ad alta viscosità in OpenGL
Vincitore del “GPI Best Tutorial Contest” (GPI), questo progetto spiega approfonditamente l’algoritmo “FRF”, un nuovo sistema che ho implementato per simulare il moto dei fluidi altamente viscosi su vari tipi di superfici.
L’algoritmo FRF
L’algoritmo FRF si basa sul concetto di “distribuzione di massa ipotetica”, che rende il programma in grado di determinare la forma e la posizione di una massa fluida tridimensionale, calcolando la modifica della sua forma originaria (considerata in una condizione statica di forze) in funzione delle caratteristiche della superficie di scorrimento su cui si muove.
Il tutorial e le documentazioni
La teoria dietro i concetti specifici e affini è descritta in un tutorial in lingua italiana, ed una traduzione in lingua inglese.
L’algoritmo è implementato in C++ in un contesto di rendering OOP che funziona utilizzando OpenGL per generare l’output visuale in tempo reale (visibile nelle foto di questa pagina).
Tutta l’architettura del sistema è documentata nel linguaggio UML.
links a siti esterni
https://play.google.com/store/books/details/Federico_Coletto_Real_time_simulation_of_highly_vi?id=UmbeBAAAQBA (ENG)
https://play.google.com/store/books/details/Federico_Coletto_Simulazione_real_time_di_fluidi_a?id=GkfeBAAAQBAJ (ITA)
downloads
Tutorial_Fluidi_Viscosi – Federico_Coletto
Real-time simulation of highly-viscous fluids using FRF algorithm
Simulazione interazioni gravitazionali
Questo tutorial contiene la documentazione completa in PDF ed il codice sorgente VC6/VC.NET di un progetto che ho scritto qualche tempo fa. Questo programma permette di simulare graficamente le interazioni gravitazionali tra pianeti, stelle, buchi neri, asteroidi e molti altri tipi di corpi celesti. Il suo motore di scripting consente di creare e descrivere il comportamento di sistemi planetari complessi, e visualizzare la simulazione in 3D con OpenGL
downloads
Simulazione_Interazioni_Gravitazionali_Tutorial
Simulazione_Interazioni_Gravitazionali_TUT_SRC
Ninja Eyes
Questo piccolo progetto VC++ (sia 6.0 che dotNET) illustra come realizzare e documentare con UML un framework di rendering OOP che utilizza DInput e OpenGL. Troverete anche alcune informazioni interessanti sulle trasformazioni matriciali delle texture di OpenGL, che consentono di realizzare una semplice animazione del modello. Il programma genera e renderizza due occhi roteanti che “seguono” un flare mosso dal vostro mouse. L’iride degli occhi reagisce ai movimenti del flare. Quando il mouse è immobile l’iride risulta chiusa. Quando si sposta il mouse l’iride si apre, per poi richiudersi lentamente dopo pochi secondi. L’animazione dell’iride è realizzata utilizzando il comando OpenGL glTranslatef sulla matrice della texture del modello (una sfera generata tramite una “quadratica”). Il codice di rendering/trasformazione è contenuto nel metodo “renderizzaGeometrie()” implementato nella classe NJ_OGL_OCCHIO. Usando i tasti ‘+’ e ‘-‘ è possibile attivare/disattivare la visualizzazione dei vettori di base dei modelli della scena.
downloads
Tutorial OpenGL – lezione 03
Questo tutorial (in lingua italiana) parla del sistema di definizione e gestione dei modelli e delle texture in OpenGL. Tutto è progettato e codificato secondo i principi OOP, al fine di rendere il programma flessibile e di ottenere un buon livello di estensibilità.
A scopo illustrativo è allegato un progetto VC++ 6.0 che affronta ed applica nel dettaglio tutte le tematiche affrontate.
downloads
Tutorial OpenGL – lezione 02
Questo tutorial (in lingua italiana) parla delle caratteristiche di base di OpenGL, ed approfondisce i concetti di proiezione 3D, rendering di vertici, linee, poligoni, poliedri, colori, winding, discretizzazione di superfice e tessellation. A scopo illustrativo è allegato un progetto VC++ 6.0 che affronta ed applica nel dettaglio tutte le tematiche affrontate.
downloads
Tutorial OpenGL – lezione 01
Questo tutorial (in lingua italiana) tratta gli elementi architetturali di OpenGL e le strutture di base della pipeline di rendering. Vengono fatti alcuni accenni anche su GLUT, GLUAX e le relative estensioni. A scopo illustrativo è allegato un progetto VC++ 6.0 che spiega come creare un framework in grado di gestire le finestre OpenGL e una semplice struttura rendering.