Wilhem Barbier

home, portfolio
github, email, cv


Graphics research internship at Unity Grenoble

To be done (February-August 2022)

Real-time global illumination using lightmap interpolation

I did a part-time research project on diffuse real-time global illumination. This project was a collaboration between Cyril Soler (INRIA Grenoble) and Laurent Belcour (Unity Grenoble).

Personal projects

Real-time Renderer

A real-time deferred renderer using OpenGL. Its most notable features are image-based lighting, normal mapping, dynamic shadows using shadow mapping, basic temporal antialiasing and ambient occlusion.

Source code here

See the portfolio page for a showcase of some features

Path tracer

This is a simple Monte Carlo path tracer. It has a bounding volume hierarchy for fast ray-triangle intersections, and uses a physically-based rendering model.

Source code here

Software Rasterizer

I wrote this software rasterizer after learning OpenGL because I wanted to better understand the rendering pipeline.

Source code here

GameBoy emulator

A barebones GameBoy emulator: as of now it can start a game of Tetris. It also has an integrated debugger with a memory and VRAM viewer.

Source code here


A work-in-progress C99 compiler targetting x86_64. Right now it is very incomplete and can only handle simple control flow and variables. The ultimate goal of the project is to have toycc compile itself.

Source code here