The transition from high-level graphics APIs to explicit standards like Vulkan has introduced a steep learning curve in computer graphics education. While offering unprecedented control over hardware resources, the complexity of Vulkan hinders students from focusing on high-level rendering concepts. This thesis addresses this challenge by extending a custom educational Vulkan framework used at Politecnico di Milano, enhancing its capabilities to support advanced lighting via Deferred Shading and a robust Collision Detection system. The work is structured around three main contributions. First, the rendering pipeline was re-engineered to support Deferred Shading. This involved modifying the core architecture to handle Multiple Render Targets (MRT) and implementing a two-pass workflow: a Geometry Pass for G-Buffer generation (storing Position, Normal, and Albedo) and a Lighting Pass for efficient screen-space illumination. Second, the thesis focuses on the stabilization and completion of the Colliders Module. The existing collision detection system was redesigned to correct mathematical instabilities in Oriented Bounding Box (OOBB) interactions using the Separating Axis Theorem (SAT) and to refine Bounding Volume Hierarchy (BVH) traversals. Crucially, a real-time Visual Debugger was implemented, allowing students to verify spatial interactions through dynamic wireframe rendering. Finally, these systems were unified under a Data-Driven Architecture. The scene management system was extended to parse spatial attributes directly from JSON configuration files, decoupling the logic from the C++ code. The resulting framework was validated through a comprehensive demo application, proving its capability to handle dynamic scenes with multiple light sources and collisions, thereby providing a solid platform for future academic projects.

Il passaggio da API grafiche di alto livello a standard espliciti come Vulkan ha introdotto una ripida curva di apprendimento nella didattica della computer grafica. Sebbene Vulkan offra un elevato controllo sulle risorse hardware, la sua complessità ostacola gli studenti nell'apprendere i concetti di rendering di alto livello. Questa tesi affronta tale sfida estendendo un framework didattico Vulkan in uso presso il Politecnico di Milano, arricchendolo con il supporto all'illuminazione avanzata tramite Deferred Shading e con un robusto sistema di rilevamento delle collisioni. Il lavoro si articola in tre contributi principali. In primo luogo, la pipeline di rendering è stata riprogettata per supportare il Deferred Shading. Ciò ha comportato modifiche architetturali per gestire Multiple Render Targets (MRT) e l'implementazione di un flusso di lavoro a due passaggi: un Geometry Pass per la generazione del G-Buffer (memorizzando Posizione, Normale e Albedo) e un Lighting Pass per un'efficiente illuminazione in screen-space. In secondo luogo, la tesi si concentra sulla stabilizzazione e sul completamento del modulo Colliders. Il sistema di rilevamento collisioni esistente è stato revisionato per correggere le instabilità matematiche nelle interazioni tra Oriented Bounding Box (OOBB) utilizzando il Teorema dell'Asse di Separazione (SAT) e per raffinare l'attraversamento delle Bounding Volume Hierarchies (BVH). Di fondamentale importanza è stata l'implementazione di un Visual Debugger in tempo reale, il quale consente agli studenti di verificare le interazioni spaziali attraverso la visualizzazione in wireframe dei collider. Infine, questi sistemi sono stati unificati in un'architettura Data-Driven. Il sistema di gestione della scena è stato esteso per supportare la specifica degli attributi spaziali direttamente dai file di configurazione JSON, disaccoppiando la logica dal codice C++. Il framework risultante è stato validato attraverso un'applicazione dimostrativa completa, comprovandone la capacità di gestire scene dinamiche con molteplici sorgenti luminose e collisioni, e offrendo così una solida piattaforma per futuri progetti accademici.

Design and extension of an educational vulkan framework for deferred shading and collision detection systems

Speroni, Riccardo
2024/2025

Abstract

The transition from high-level graphics APIs to explicit standards like Vulkan has introduced a steep learning curve in computer graphics education. While offering unprecedented control over hardware resources, the complexity of Vulkan hinders students from focusing on high-level rendering concepts. This thesis addresses this challenge by extending a custom educational Vulkan framework used at Politecnico di Milano, enhancing its capabilities to support advanced lighting via Deferred Shading and a robust Collision Detection system. The work is structured around three main contributions. First, the rendering pipeline was re-engineered to support Deferred Shading. This involved modifying the core architecture to handle Multiple Render Targets (MRT) and implementing a two-pass workflow: a Geometry Pass for G-Buffer generation (storing Position, Normal, and Albedo) and a Lighting Pass for efficient screen-space illumination. Second, the thesis focuses on the stabilization and completion of the Colliders Module. The existing collision detection system was redesigned to correct mathematical instabilities in Oriented Bounding Box (OOBB) interactions using the Separating Axis Theorem (SAT) and to refine Bounding Volume Hierarchy (BVH) traversals. Crucially, a real-time Visual Debugger was implemented, allowing students to verify spatial interactions through dynamic wireframe rendering. Finally, these systems were unified under a Data-Driven Architecture. The scene management system was extended to parse spatial attributes directly from JSON configuration files, decoupling the logic from the C++ code. The resulting framework was validated through a comprehensive demo application, proving its capability to handle dynamic scenes with multiple light sources and collisions, thereby providing a solid platform for future academic projects.
ING - Scuola di Ingegneria Industriale e dell'Informazione
26-mar-2026
2024/2025
Il passaggio da API grafiche di alto livello a standard espliciti come Vulkan ha introdotto una ripida curva di apprendimento nella didattica della computer grafica. Sebbene Vulkan offra un elevato controllo sulle risorse hardware, la sua complessità ostacola gli studenti nell'apprendere i concetti di rendering di alto livello. Questa tesi affronta tale sfida estendendo un framework didattico Vulkan in uso presso il Politecnico di Milano, arricchendolo con il supporto all'illuminazione avanzata tramite Deferred Shading e con un robusto sistema di rilevamento delle collisioni. Il lavoro si articola in tre contributi principali. In primo luogo, la pipeline di rendering è stata riprogettata per supportare il Deferred Shading. Ciò ha comportato modifiche architetturali per gestire Multiple Render Targets (MRT) e l'implementazione di un flusso di lavoro a due passaggi: un Geometry Pass per la generazione del G-Buffer (memorizzando Posizione, Normale e Albedo) e un Lighting Pass per un'efficiente illuminazione in screen-space. In secondo luogo, la tesi si concentra sulla stabilizzazione e sul completamento del modulo Colliders. Il sistema di rilevamento collisioni esistente è stato revisionato per correggere le instabilità matematiche nelle interazioni tra Oriented Bounding Box (OOBB) utilizzando il Teorema dell'Asse di Separazione (SAT) e per raffinare l'attraversamento delle Bounding Volume Hierarchies (BVH). Di fondamentale importanza è stata l'implementazione di un Visual Debugger in tempo reale, il quale consente agli studenti di verificare le interazioni spaziali attraverso la visualizzazione in wireframe dei collider. Infine, questi sistemi sono stati unificati in un'architettura Data-Driven. Il sistema di gestione della scena è stato esteso per supportare la specifica degli attributi spaziali direttamente dai file di configurazione JSON, disaccoppiando la logica dal codice C++. Il framework risultante è stato validato attraverso un'applicazione dimostrativa completa, comprovandone la capacità di gestire scene dinamiche con molteplici sorgenti luminose e collisioni, e offrendo così una solida piattaforma per futuri progetti accademici.
File allegati
File Dimensione Formato  
2026_3_Speroni.pdf

accessibile in internet per tutti

Descrizione: Testo della tesi
Dimensione 4.98 MB
Formato Adobe PDF
4.98 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/251604