3D models are composed of several triangles, linked together to form a complex surface in space. Vertices, at the end of each triangle edge, store information about position, normal direction, color and so on. Realtime mesh deformation consists in the manipulation of this data and is usually done by concatenating classical affine transformations commonly employed in computer graphics, such as rotation, scaling and translation. More complex effects can however be obtained by using more general transformations. These non-linear transformations, such as twisting and bending, are usually either relegated to complex CAD software or implemented in a non-efficient way on the main processor; this means they are not easily available to developers willing to integrate them in their applications. The aim of this work is to solve both problems, by providing a fast, simple to use and GPU-enabled framework in Unity for realtime mesh deformation. GPU deformation gives the user the possibility to easily manage meshes with far more vertices than it is possible on the CPU, since an optimized architecture is exploited to achieve the desired result. A demo application has also been developed to showcase the capabilities of the methods explained in this thesis. The user can enable one or more transformations described in this work by operating on a custom user-defined 3D model in a very intuitive way

I modelli 3D sono composti da numerosi triangoli, concatenati assieme per creare una superficie complessa nello spazio. I vertici, alla fine di ogni spigolo, memorizzano informazioni relative alla posizione, alla direzione delle normali, al colore e così via. La deformazione di un modello 3D in realtime consiste nella manipolazione di questi dati e avviene solitamente concatenando le classiche trasformazioni affini tipicamente usate in computer grafica, come traslazioni, scaling e rotazioni. Effetti più complessi possono tuttavia essere ottenuti sfruttando formule più generali. Queste trasformazioni non lineari, come il twisting e il bending, sono solitamente disponibili all’interno di complessi software CAD oppure implementati non efficientemente su CPU: ciò implica che non siano facilmente disponibili agli sviluppatori desiderosi di integrarle nelle proprie applicazioni. Lo scopo di questa tesi è risolvere entrambi i problemi, fornendo un framework in Unity per le deformazioni di mesh 3D veloce, semplice da usare e implementato su GPU. L’impiego della scheda video fornisce all’utente la possibilità di gestire facilmente modelli 3D con un alto numero di vertici, al di fuori della portata di un qualsiasi processore, grazie all’impiego di un’architettura più consona all’obiettivo. Un’applicazione di prova è stata inoltre sviluppata per dimostrare le potenzialità dei metodi qui presentati. L’utente può abilitare una o più trasformazioni descritte in questo lavoro, agendo su modelli 3D caricati durante l’esecuzione in maniera assolutamente intuitiva.

Fast non-linear deformations on graphics processing units

ALBANESE, MICHELE
2017/2018

Abstract

3D models are composed of several triangles, linked together to form a complex surface in space. Vertices, at the end of each triangle edge, store information about position, normal direction, color and so on. Realtime mesh deformation consists in the manipulation of this data and is usually done by concatenating classical affine transformations commonly employed in computer graphics, such as rotation, scaling and translation. More complex effects can however be obtained by using more general transformations. These non-linear transformations, such as twisting and bending, are usually either relegated to complex CAD software or implemented in a non-efficient way on the main processor; this means they are not easily available to developers willing to integrate them in their applications. The aim of this work is to solve both problems, by providing a fast, simple to use and GPU-enabled framework in Unity for realtime mesh deformation. GPU deformation gives the user the possibility to easily manage meshes with far more vertices than it is possible on the CPU, since an optimized architecture is exploited to achieve the desired result. A demo application has also been developed to showcase the capabilities of the methods explained in this thesis. The user can enable one or more transformations described in this work by operating on a custom user-defined 3D model in a very intuitive way
ING - Scuola di Ingegneria Industriale e dell'Informazione
25-lug-2018
2017/2018
I modelli 3D sono composti da numerosi triangoli, concatenati assieme per creare una superficie complessa nello spazio. I vertici, alla fine di ogni spigolo, memorizzano informazioni relative alla posizione, alla direzione delle normali, al colore e così via. La deformazione di un modello 3D in realtime consiste nella manipolazione di questi dati e avviene solitamente concatenando le classiche trasformazioni affini tipicamente usate in computer grafica, come traslazioni, scaling e rotazioni. Effetti più complessi possono tuttavia essere ottenuti sfruttando formule più generali. Queste trasformazioni non lineari, come il twisting e il bending, sono solitamente disponibili all’interno di complessi software CAD oppure implementati non efficientemente su CPU: ciò implica che non siano facilmente disponibili agli sviluppatori desiderosi di integrarle nelle proprie applicazioni. Lo scopo di questa tesi è risolvere entrambi i problemi, fornendo un framework in Unity per le deformazioni di mesh 3D veloce, semplice da usare e implementato su GPU. L’impiego della scheda video fornisce all’utente la possibilità di gestire facilmente modelli 3D con un alto numero di vertici, al di fuori della portata di un qualsiasi processore, grazie all’impiego di un’architettura più consona all’obiettivo. Un’applicazione di prova è stata inoltre sviluppata per dimostrare le potenzialità dei metodi qui presentati. L’utente può abilitare una o più trasformazioni descritte in questo lavoro, agendo su modelli 3D caricati durante l’esecuzione in maniera assolutamente intuitiva.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2018_07_ALBANESE.pdf

non accessibile

Descrizione: Testo della tesi
Dimensione 7.76 MB
Formato Adobe PDF
7.76 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/141810