Workshop Webbit 2004

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

downloads

Architetture_object_oriented_&_simulazioni_fisiche

Federico_NinjaCross_Coletto_Webbit_2004_FULL

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

Fluid_simulation_using_FRF_algorithm_Sources

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

Simulazione_Interazioni_Gravitazionali_SRC

Simulazione_Interazioni_Gravitazionali

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

NinjaEyes_dotNET

NinjaEyes_VC6

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

Lezione3 PDF

Lezione3 ZIP

Sorgenti lezione 3

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

Lezione2 PDF

Lezione2 ZIP

Sorgenti lezione 2

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.

Downloads

Lezione1 PDF

Lezione1 ZIP

Lezione1_Sorgenti