I have successfully completed my PhD in Computer Graphics on November 2011 at INRIAin France. I studied material models for complex objects under the supervision ofNicolas Holzschuch.

I am passionate about video-games and real-time rendering techniques. I work at EA Dice, located in Stockholm, as a rendering engineer into the Frostbite team.


charles [dot] derousiers [at] gmail [dot] com

(+33) 6 79 04 97 40

Charles de Rousiers
Kungstensgatan, 40
113 59 Stockholm



I am kind of curious and I enjoy understanding how stuff works! Here are some "demos" that I code during my spare time. They are based on a deferred shading pipeline, with a filmic tone mapping based on John Hable's technique. I use a Peter Shirley's sky model as environment map, and compute irradiance map into spherical harmonics basis on the fly. Hence, all the lighting is dynamic.

   Depth of Field with Bokeh Rendering

Implementation of a depth of field technique with bokeh rendering. An atomic counter and a UAV surface detect and store high contrasted pixels' position. Quads with a bokeh texture are drawn for simulating the aperture's shape on these pixels. Everything is done on the GPU without any CPU/GPU synchronization. The technique will be published into OpenGL Insights book.

   Terrain tessellation

Implementation of a terrain tessellation technique. I use terrain's tiles projection as a heuristic to determine the tessellation level of each tile. This simple heuristic works quite well except for highly displaced surfaces.

   Cook-Torrance & Sky illumination

Implementation of the Cook-Torrance BRDF (with Schlick's approximation for the Fresnel term and Kelemen's approximation for the geometric term). The sky light/env. map is dynamically generated with Peter Shirley sky model. The sky irradiance is projected onto Spherical Harmonics and pre-convolved on the fly. I compute specular term with the sun light and the diffuse term with the pre-convolved irradiance.

   EVSM (Exponential Variance Shadow Mapping)

Implementation of the EVSM (Exponential Variance Shadow Mapping) technique based on GPU Pro 2 book for limiting light bleeding. Occluders are represented by the first two moments of their depth distribution. The linear representation of these moments, allows to filter the shadow map directly (here with a separable Gaussian filter). This technique is used here in combination with CSM (Cascaded Shadow Maps).

   Screen Space Ambient Occlusion

Implementation of a SSAO technique based on Morgan McGuire's paper. SSAO is done at full resolution and a bilateral filter is done for smoothing results. As explained in the paper, removing hard-edge artifacts on the ground would required additional tessellation.

   Cascaded Shadow Maps

Implementation of a CSM technique. Shadow maps are stored into a texture array. Video is shot with four level cascades with a resolution of 1024x1024. Percentage closer filtering is done for filtering shadow boundaries and a slope-based bias is used for avoiding shadow acne.



Main skills Graphics hardware programming
Compute graphics
Applied mathematics
Software design (OOD / DOD)
Technology scouting
Language / API C++, C, C#, SSE, Java, ...
OpenGL 4.x, DirectX 11, CUDA, Optix, ...
STL, Boost, ...
Software Visual Studio, GDB, Valgrind, ...
Matlab, Octave
3DS Max, Inkscape

My full resume is available here.


2008 - 2011 Ph.D in Compute Graphics at INRIA, Grenoble, France.
Ph.D exchange program at University of California at Berkeley, Berkeley, USA.
2007 - 2008 Master's Degree in Computer Graphics and Vision in Lyon University, Lyon, France.
2005 - 2008 Master's Degree in Compute Science, National Institute of Applied Sciences (INSA), Lyon, France.
2004 - 2005 Institute of Technology, Dijon, France.
2003 - 2004 Institute of Technology, Montpellier, France.


Lecture : I gave some lectures in 2008 at Ubisoft Annecy on advanced C++ programming techniques. Below are the slides for those lectures (in french) :

  1. 1. Memory management
  2. 2. Unit tests
  3. 3. Optimization
  4. 4. Introduction to template

Book : I am writing a book chapter entitled "Depth of Field with Bokeh Rendering" with Matt Pettineo. This chapter will be released at SIGGRAPH 2012 in the book OpenGL Insights published by A.K. Peters.


   Real-time Rough Refraction


We present an algorithm to render objects of transparent materials with rough surfaces in real-time, under distant illumination. Rough surfaces cause wide scattering as light enters and exits objects, which significantly complicates the rendering of such materials. We present two contributions to approximate the successive scattering events at interfaces, due to rough refraction : First, an approximation of the Bidirectional Transmittance Distribution Function (BTDF), using spherical Gaussians, suitable for real-time estimation of environment lighting using pre-convolution; second, a combination of cone tracing and macro-geometry filtering to efficiently integrate the scattered rays at the exiting interface of the object. We demonstrate the quality of our approximation by comparison against stochastic raytracing.

ACM SIGGRAPH - I3D'11 - Paper, Video, Best paper award

   Material Model for Discrete Media


Many objects used in virtual scenes are defined with thousands of smaller features, such as grains of sand, snowflakes or fur. Simulating light interactions with these many features is a challenging task, both in terms of processor and memory costs. We investigate a new model for rendering such complex discrete media in an efficient way.

Work in progress.

   Spherical Harmonics Operators


Spherical harmonics are commonly used in Computer Graphics. They provide a compact representation for low frequency directional distributions, such as BRDFs, env maps, Normal Distribution Functions, etc. Operators for manipulating SH distributions are quite complicated : arbitrary rotation or arbitrary convolution. We investigate a new representation based on Spherical Harmonics allowing simpler and faster operations : rotation and convolution. In particular, this method allows to pre-filter non radially symmetric distributions in a simple and efficient way.

Work in progress.