Latest Projects

SHADER TOY :
Diffuse BRDF
(July 2019)

Just a little shader implementing a diffuse BRDF sampling on a cube map applied to a raytraced sphere on shadertoy.

I wanted to train myself before implementating it in a real renderer, I'm really happy with the result we get with this Envmap.

You can find this project on Shadertoy.

Substance Material Analysis
(March-September 2019)

End of study internship in Allegorithmic company, I work with the Substance Alchemist team in Lyon.

A substance material is a procedurally generated material, generating textures designed to be integrated in a PBR (physically based rendering) rendering software. The advantage of being procedural is that you can tweak parameters in the material creation process and some are exposed to the user, configuring it's own variation of the material.

I work on material analysis based on PBR material maps (base color, normal, roughness, ...) But also implement the work in the already existing software Substance Alchemist.

Arverne Viewer
(WIP Since November 2018)

End of masters degree project.

This is more of a personal project than a student one. The aim was to learn the trending graphics API Vulkan by implementing a 3D viewer.

By the end of the semester, I was surprised to like this much the API. I decided to extend the code, and made it accessible to the community. Adding new features and refactoring the code on my free time.

The software itself is implementing a 3D Vulkan viewer with texture mapping of course lighted thanks to a simple phong illumination. It provides also dynamic mesh loading and a user interface going with it allowing you to move in the space.

The source code is crossplatform and available on github with the install steps. You'll only need to have Qt 5.10 at least, a lunarG SDK for vulkan install, and a cmake version 3.10 or newer : Github Link

Microcontroller UWB
(April-August 2018)

Internship of my first year in masters degree in the laboratory IRSTEA TSCF unit. The mission was the following :

Develop a test and configuration software for an Ultra Wide Band beacon.

For the Baudet-Rob project, a robot is using this device to track and follow a person or another robot. The devices can compute distances. So with some of them, you can triangulate a position, but in the frames they exchange you can also send datas, like orders from a remote, or robot intern status datas.

My mission was to adapt the firmware and create a protocol of communication for the transmission of the datas(C). But also I implemented a C++ API allowing the configuration of the devices linked to a computer using USB or CAN protocol. A ROS node was also made and a Qt interface for a convenient and understandable fresh user configuration.

Tutor : Jean Laneurit

Report (french)

Professional

Substance Material Analysis
(March-September 2019)

End of study internship in Allegorithmic company, I work with the Substance Alchemist team in Lyon.

A substance material is a procedurally generated material, generating textures designed to be integrated in a PBR (physically based rendering) rendering software. The advantage of being procedural is that you can tweak parameters in the material creation process and some are exposed to the user, configuring it's own variation of the material.

I work on material analysis based on PBR material maps (base color, normal, roughness, ...) But also implement the work in the already existing software Substance Alchemist.

Microcontroller UWB
(April-August 2018)

Internship of my first year in masters degree in the laboratory IRSTEA TSCF unit. The mission was the following :

Develop a test and configuration software for an Ultra Wide Band beacon.

For the Baudet-Rob project, a robot is using this device to track and follow a person or another robot. The devices can compute distances. So with some of them, you can triangulate a position, but in the frames they exchange you can also send datas, like orders from a remote, or robot intern status datas.

My mission was to adapt the firmware and create a protocol of communication for the transmission of the datas(C). But also I implemented a C++ API allowing the configuration of the devices linked to a computer using USB or CAN protocol. A ROS node was also made and a Qt interface for a convenient and understandable fresh user configuration.

Tutor : Jean Laneurit

Report (french)

Vaadin/OSGi Programmer
(July-August 2017)

Programmer for Metaverse Concept.

Goal :
Continue the work done during the internship. I am in charge of a web app development using Vaadin and structured with the framework OSGi

Viewer and Web App
(March-July 2017)

Intern programmer in Metaverse Concept.

Goal :
Develop an API for a 3D Viewer Vaadin widget (Web GUI in Java) using webGL.

The widget will be then integrated in an other web app using OSGi.

Medical Imaging (2016)

In collaboration with the laboratory of Christophe Lohou, we have to implement a 3D interactive application using Unity to visualize and interact with datas from medical imaging.

It allows you to read DICOM files and render it in 3D, and then use segmentation algorithm.

This application is an alternative to the already existant solutions(MITK, Slicer etc...) which don't necessarily offer the same features we want to implement, and in a non intuitive way.

This project was shown at the RITS 2017 Conference in Lyon(France)

Lightstage Imaging (2016)

A lightstage is a device which allows, thanks to a set of prepositionned cameras and a lighting system, to obtain a 3D model of an object or a person, using 3D reconstructions algorithms. This can produce extremly detailed models. This process was already used in VFX in some Blockbusters.

This project was realized during an internship of 3 months in the Aberystwyth University labs in Wales. I was supervised by Hannah Dee.

I am in charge of the programmation of arduinos for the lighting system, and also research on the best positions of the lights to have an homogeneous lighting of the model in the device.

Download the report :
Here

Home Made

SHADER TOY :
Diffuse BRDF
(July 2019)

Just a little shader implementing a diffuse BRDF sampling on a cube map applied to a raytraced sphere on shadertoy.

I wanted to train myself before implementating it in a real renderer, I'm really happy with the result we get with this Envmap.

You can find this project on Shadertoy.

Arverne Viewer
(WIP Since November 2018)

End of masters degree project.

This is more of a personal project than a student one. The aim was to learn the trending graphics API Vulkan by implementing a 3D viewer.

By the end of the semester, I was surprised to like this much the API. I decided to extend the code, and made it accessible to the community. Adding new features and refactoring the code on my free time.

The software itself is implementing a 3D Vulkan viewer with texture mapping of course lighted thanks to a simple phong illumination. It provides also dynamic mesh loading and a user interface going with it allowing you to move in the space.

The source code is crossplatform and available on github with the install steps. You'll only need to have Qt 5.10 at least, a lunarG SDK for vulkan install, and a cmake version 3.10 or newer : Github Link

SHADER TOY :
Julia Set
(August 2018)

A sudden desire to see fractals on my screen.
A big thanks to wikipedia and 3Blue1Brown for the illustrated explanations.

Find the code on ShaderToy.

RayTracer
(On Standby June 2018)

Big personal challenge !

I always wanted to make my own global illumination rendering engine, and this is it.

The side image you see is the famous scene "CornellBox". This scene is a reference, and is the goal to achieve in the final version of the engine.

With this project I learnt about the usage of CMake and GTest. It also let me go deeper in the details of image synthesis, beyond the theory : the Impelementation ! (No reference to PBRT here) At the moment the project was initialized, my degree wasn't including the image synthesis part, and it missed me.

Find it on : github

SHADER TOY :
Shader Galaxy
(May 2018)

Made in one evening, it's a fragment shader recreating a minimalist galaxy.

This is easily done, it's only a sum of 2D inverse functions where the origins are the center of the "planets".

Find the code on ShaderToy.

Scifi Wall
(December 2017)

Scifi Wall Material creation using Substance Designer.

Because of my exams, I had not the chance to add my entry to the contest "Materialize" organized by Allegorithmic. You had to take a photo on their instagram profile Mattershots and synthetize a material from it !

You can find this project by following this link :

Arstation

Razor Blade
(October 2017)

Recreation of my razor on blender.

Texturing with Substance Painter.

You can find the project on Arstation

PICKLE RICK (August 2017)

"Rick and morty" season 3 most iconic character Sculpting. Done with Blender, where one of the character, Rick, a scientist, transformed himself into a pickle, his surname being :

PICKLE RICK !!!!

Find the project on Artstation

Hand HighPoly
(July 2017)

Hand Sculpting on Blender

This is my very first sculpture using blender. I just received my first graphics tablet : Wacom Intuos Draw Small

Find the project on Artstation

One Hour Challenge
(June 2017)

A challenge ! Modelize something, unwrap it, texture it, and render it. And the process must be done in one hour obviously.

Modelization and unwrapping is done on Blender, texturing and rendering is done using Substance Painter.

Find the project on Artstation

Front Page WebGL(2017)

Front page made with pure WebGL. I wanted to bring some animation to the home page and gives a brief idea of the rest of the web site and who I am.

It's a simple discretization of a plan, the number of vertices per edge is an input giving the appropriate input for the VAO and EBO.

Then in the vertex shader, we simply transform the coordinates following a sum of sinusoid functions.

And finally we add some procedural perlin noise to bring some variation to the geometry.

All of this in function of time, that gives this simple effect of waves. It's really simple but it do the trick really well.

Download the source code on GitHub.

Bloom Shader (2017)

A shader reproducing the bloom effect in unity very simple, the image on the side explains the process.

Recore Shader(2016)

A project aiming at reproducing a shader saw in the trailer of the game "Recore".

It a simple lighting model I reimplemented using Unity.

This website

This website is pure "handcrafted", using HTML, CSS and Jquery.

Student

Escape Room (2017)

Video game developed with a team of 7 students. It is available on PC with HTC Vive compatibility made with unity.

The player will be locked in a room, He will have to interact with his environment to solve the misteries of the room and escape.

It takes place in the victorian era, inspired by the Lovecraft universe.

My work was to realize the 3D models and texture them using the Substance suite. But also develop the riddles and other gameplay elements.

You can find it on Github

A trailer is also available here

VR Shader project (2017)

For the purpose of the 3D real time and virtual reality studies I made, this project aims at evaluating our virtual reality and shader programmation skills.

This project is only available on HTC Vive and developped with Unity 5.4.1f1.

The player spawns in a mortuary with the possibility to interact with almost all the objects in the scene. But the thing really interesting is that he can drink the liquid in the potions disposed all over the place.

These liquids are kind of ... mind altering the player causing visual and auditory hallucinations.

My work was mainly on programming the shaders, but also set up the scene and make the experience as immersive as possible.

See it on Github

Live demonstration here

Omni Lowcost Homemade (2016)

This project is a copy of the controller "Virtuix Omni" lowcost.

It was build with arduinos, unity, and a hand crafted platform.

It was designed by Youé Graillot and myself.

I was in charge of the Arduino part, optimization of the data transfer and the interface with unity and also its integration.

Download the report
Here(french only).

Le Projet Omega (2015)

"Projet Omega" is an adventure puzzle game, where you are in the mind of a monkey trying to escape the lab where he is keeped prisonner.


Made by Youé Graillot(Programmer, Integrator), Simon Marchand(Graphist), Robin Dousse(Programmer)

My work : AI, event, gameplay, and level design.

Download the APK
Here

Mesh Data Intrepretation Unity(2015)

This relates on vertices of a mesh in unity.

Particles (here spheres) are spread in the scene, exploring the world will reveal the hidden meshes. While getting close to a mesh, the particles will start moving to the vertices of the mesh, reconstructing it. When getting further from it, the particles will detach in an explosion.

This work is appliable on any mesh, with any kind of particles.

My part of the project was to do a rework on the mesh to obtain a new mesh with an homogeneous appearance even with a low number of vertices initially.

OpenGL(2016)

School projects about low level graphics API, aiming at exploring the capabilities of openGL.

Image Synthesis Algorithms(2016)

Work about the image synthesis algorithms, local illumination(phong), global illumination (Raytracing), texture mapping, and surface equations. Also a first step in the PBR pipeline.