Giacomo
Vanni

Software Developer

Based in Milan, Italy.

Profile

About me

Passionate and motivated software developer based in Milan with 4 years of professional experience developing with C# and Unity on Android, iOS, Microsoft Hololens2, HTC Vive and Oculust quest 2.

Interested in all kinds of technologies, in particular everything regarding Shaders, Videogames, AR/VR/XR, and AI.

I think the best part of our job is to find a new problem to solve and nothing gratifies me more than doing it.

C# 98%
Unity 95%
TeamWork 98%
AR/VR 98%
Shader (CG - HLSL)70%
OOP 95%
C++ 55%
Version Control systems (Git) 90%
HTML-CSS35%

Experience

.


Senior Unity Developer at IQUII

March 2023 - Present

I am currently working as a Senior developer in the Immersive Technologies division of IQUII. We are currently working with the latest AR/VR/MR technologies in a B2B environment.


With Focus on: C#, Unity, Apple Vision Pro, Oculus Quest 2, Project management, Database, Online Server, API, Webservices, In-Depth Code optimization, Code Design


Software Developer (Unity -VR) at Hegias AG

August 2022 - March 2023


I am working on an automated and browser-based content management system (CMS) solution for visualizing and communicating with virtual reality (VR) for the construction and real estate industry.


With Focus on:

VR, Shaders, Oculus Quest 2, HTC Vive, C#, Unity, Database, API, Webservices, Code Design, Code architecture VR, Shaders, Oculus Quest 2, HTC Vive, C#, Unity, Database, API, Webservices, Code Design, Code architecture


Software Developer at OverIT - Field Service Management

September 2021 - September 2022

I have worked on AR technlogies with Microsoft Holens 2 for the SPACE1 division to develop new solutions for the Field Service Menagement and the Augmented Collaboration

During my period working as a Software developer at OverIT I was able to focus on: C#, Unity, Microsoft Hololens 2, VR technologies, Database, Online Server, API, Webservices, In-Depth Code optimization, Code Design


Software Developer at UpSurgeOn

March 2020 - September 2021


UpSurgeOn develops an advanced sequence of virtual and physical technologies designed to support mental and manual training for young neurosurgeons. The goal of the company is to solve the problem of practice in neurosurgery which is a global healthcare emergency.


I have worked on:

Unity, Online Stores Management, ARCore - ARKit, Shaders, UI, In-Depth Code optimization, Services (Savings, In-App Purchase, News), Database, Online Server API, Camera Behaviours.


Professor of "Shaders Basics" at TheSign - Comics & Arts Academy - Game dev department

2019-2020

TheSign Comics & Arts Academy is a private university that offers courses on all kinds of subjects related to game development.


After my graduation, the academy offered me a six months job as a professor to teach new programmers my thesis' topics. It was a very incredible experience that helped me to become more aware of my knowledge.

Graduated as a GameProgrammer at Event Horizon School / TheSign Comics & Arts Academy

2016-2019


Final thesis: Shader (CG-HLSL)


Three-Year course with focus on:

Unity, C#, Shaders, Working in team, AI, Physics, Math, Multiplatform.

University of Pisa - Computer Engineering

2014 - 2016 - Not completed

Although I didn’t complete the course, I spent two years attending classes and exams.


I learned the principles of Programming, OOP, and attended courses of Algorithm and Data Structures, Operating System, Math and Physic.

WORKS


Hegias Product

Design and create buildings with multiplayer and collaboration in VR








HeadAtlas

Educational game about neuroanatomy


500k+ downloads

Get on the Play Store Get on the App Store




Eu

This project has received funding from the European Union’s H2020 Research and Innovation Programme under grant agreement n.880895.

Portfolio Image click to learn more




Hide

Introduction

What's HeadAtlas:

An educational game for studying neuroanatomical details on mobile devices with Augmented Reality

You can access more than 2500 labels and descriptions and use 3 different visualization tools: create sections, isolate objects, exploded view.


Head Atlas provides a variety of texts organised into three cognitive levels, from general overviews to highly specific definitions, to facilitate learning and memorisation.




What I've done in this project:

UI/UX, Augmented Reality, Scene Setup with complex 3D organization, All methods and functions, In-Depth Code optimization, Database, Online Server API, Camera Behaviours, Input, Object Selection through shader (Not Colliders due to optimization needs), Section Shaders, Recolor and retexturing Shaders, Services (Savings, In App Purchase, News, Store)

Company: UpSurgeOn

Developers: One

Downloads(Both Stores): 500k+


Portfolio Image click to learn more




Hide

Selection without Colliders or Raycasts

Pixel Shaders

Due to optimization needs (we had more than 3 Milions vertices), we decided to remove all colliders from our 3D objects in the scenes. This solution leads to a major performance improvement but it creates another problem: Raycast to select an object is now unavaible.

To solve this problem I used a render texture applied on a Plane that mirrors the rendered screen but, instead of using the normal object material, I used a UNIQUE randomly generated RGB color code applied to every single interactable's object shader. (See video) After that, we can easly check, given the user's input position, the same position on the renderPlane and get the precise color of the selected pixel. Given the fact that every color is Object-unique, we can easly return the selected object without using any raycasts or colliders.

Portfolio Image click to learn more





Hide

Section

Pixel and Vertex Shader

This shader uses an hidden plane that moves around the scene following the user's input in order to gather his world position.

Every pixel of the meshes then make a check between its relative position and the forward vector of the plane.

If the check fails, the pixel will be discarded during the rendering queue and will not be rendered

That's how I managed to achieve a section effect of a complex mesh

Portfolio Image click to learn more





Hide

Augmented Reality

using ARFoundation (ARCore/ARKit)

The big challenge was to design every functions and aspect of the application to make it works both on a regular session and on a stable Augmented Reality Session.


This app uses the Plane Detection features from ARKit & ARcore that allows the user to place the 3D scene on an Horizontal plane

Technologies: ARKit ARCore

Features: Plane Detection

NeuroSurgery

An educational game to improve your neurosurgical skills.


10k+ downloads

Get on the Play Store Get on the App Store




Eu

This project has received funding from the European Union’s H2020 Research and Innovation Programme under grant agreement n.880895.

Portfolio Image click to learn more





Hide

Introduction

What it is

Neurosurgery is a comprehensive library of modules for mental training. It contains 3D tools for Augmented Reality designed to improve 3D surgical knowledge and enhance the training experience in a revolutionary way. It also contains a real time stream of updates from the scientific community. Modules available: Craniotomies light/full Craniotomies is a powerful tool for 3D mental skill augmentation with a particular focus on neurosurgical approaches. This module, available in a light and a full version, is designed as a virtual simulation sequence of mental training steps: Planning, positioning, step-by-step approach, microscope, closure.

In the full version all the approaches are explorable in augmented reality and the scene has a full-screen mode for amazing screenshots that you can use for your classes or daily notes!




What I've done in this project:

UI/UX, Augmented Reality, Scene Setup with complex 3D organization, All methods and functions, In-Depth Code optimization, Services (Savings, In App Purchase, News, Store), Database, Online Server API, Camera Behaviours, Input



Company: UpSurgeOn

Developers: Two



Portfolio Image click to learn more





Hide

Sequence of scene from the App

Those are some steps that you can do inside the app, every choice you made is significant for the next scenes.

  • Planning your craniotomy
  • Position the patient accordingly to the choosen craniotomy
  • See the complete animation for that approach
  • Using the Gyroscope, simulate a microscope exploration
  • Portfolio Image click to learn more
    Portfolio Image click to learn more





    Hide

    Augmented Reality

    using ARFoundation (ARCore/ARKit)

    The challenge was to design every functions and aspect of the application to make it works both on a regular session and on a stable Augmented Reality Session.


    This app uses the Plane Detection features from ARKit & ARcore that allow the user to place the 3D scene on an Horizontal plane


    The achievement here is being able to see patient's positiong in Augmented Reality and use all the head positioning functions provided by the app

    Technologies: ARKit, ARCore

    Features: Plane Detection



    Portfolio Image click to learn more





    Hide

    Mesh Deform

    Vertex Shader

    For this shader to work, I have used two meshes; the first one is the brain with his normal size and the second one is the same brain but completely deformed


    Following the user's input I am able to evaluate which vertices had to be deformed and then interpolate between the original position of the vertex and the same vertex position of the completely deformed mesh

    I've decided to use this strategy because, during real surgery, we cannot deform a brain completely but we have some sort of threshold.




    Technologies: Vertex Shader

    ARBox

    Augmented Reality For UpSurgeOn BrainBox.

    Click on images to see more!


    Get on the Play Store Get on the App Store




    Eu

    This project has received funding from the European Union’s H2020 Research and Innovation Programme under grant agreement n.880895.

    Portfolio Image click to learn more





    Hide

    Introduction

    Hybrid Experience

    BoxAR is a free module for Augmented Reality which interacts with the physical BrainBox( Designed by UpSurgeOn), the main simulator designed for manual and hybrid training in neurosurgery.

    What I've done in this project:

    Augmented Reality, Image Tracking, UI/UX, Scene Setup with complex 3D organization, All methods and functions, In-Depth Code optimization, Services (Savings, In App Purchase, News, Store) Database, Camera Behaviours

    Company: UpSurgeOn

    Developer: One

    Tecnologies: ARCore, ARKit, Image Tracking




    AneurysmBox

    The most advanced and hyperrealistic AR vascular simulator.


    Click on images to see more!


    Get on the Play Store Get on the App Store




    Eu

    This project has received funding from the European Union’s H2020 Research and Innovation Programme under grant agreement n.880895.

    Portfolio Image click to learn more





    Hide

    AneurysmAR

    What it is

    AneurysmBox is a free module for Augmented Reality which interacts with the physical AneurysmBox( Designed by UpSurgeOn), the main simulator designed for manual and hybrid training in vascular neurosurgery.

    AneurysmBox is a hybrid system designed to analyze virtually one case before to operate it physically.

    Augmented reality guides you in carrying out a surgical approach, and in this case in choosing one of the 5 cases and then visualizing in 3D the vascular pathology you want to treat..

    What I've done in this project:

  • Augmented Reality
  • Image Tracking
  • UI/UX
  • Scene Setup with complex 3D organization
  • All methods and functions
  • In-Depth Code optimization
  • Services (Savings, In App Purchase, News, Store)
  • Database
  • Camera Behaviours
  • Input
  • Physic







  • Hide

    Art Of Coding

    Clean & Minimalistic Design

    Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud.

    Project Leader: John Doe

    Designer: Alisa Keys

    Developer: Mark Doe

    Customer: Keenthemes





    Hide

    Art Of Coding

    Clean & Minimalistic Design

    Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud.

    Project Leader: John Doe

    Designer: Alisa Keys

    Developer: Mark Doe

    Customer: Keenthemes

    Graduation Thesis

    Shaders



    During my third and last year at the accademy I decided to study Computer Graphics with an in-depth focus on Shaders. Those are some results:






    Hide

    Fade Scanner on ZBuffer

    ShockWave





    Hide

    ShockWave Distortion Shader

    ShockWave
    Water Reflection1 Water Reflection2





    Hide

    Water Reflection

    Water Reflection1 Water Reflection2
    Distortion





    Hide

    Distortion Shader on ZBuffer

    Distortion
    Ice Reflection





    Hide

    Normal Map reflection on Ice

    Ice Reflection

    Unum

    Academy project (mid 2018 - late 2019)

    Portfolio Image



    Hide

    Introduction

    What it is

    Started as an third year accademy project, I developed unum as Lead Programmer and this helped me to understand how to work in team and how to coordinate work with others.

    My personal focus on this projects:

    • -AI
    • -Player Input and Physics
    • -Gameplay
    • -Development Tools for designers and artists
    • -Shaders
    • -Code design pattern
    • -UML structure

    Concept Artists: 3

    Designer: 3

    Developer: 3

    Portfolio Image



    Hide

    What's Unum?

    Started as an third year accademy project, I developed unum as Lead Programmer and this helped me to understand how to work in team and how to coordinate work with others.

    My personal focus on this projects:

    • -AI
    • -Player Input and Physics
    • -Gameplay
    • -Development Tools for designers and artists
    • -Shaders
    • -Code design pattern
    • -UML structure

    Concept Artists: 3

    Designer: 3

    Developer: 3

    Top