Pierre Collet

 

Raytracer

by Pierre Collet - 2014-06-11

Introduction

Through this page, I introduce my raytracer project.

I've implemented the following features:

- Dielectrics
- Beer Lambert absorption
- Environnement Mapping
- Texturing
- Perlin Noise
- Negative mapping
- Normal mapping
- Model loading
- Caustics (with photon mapping)
- Volumetric scattering
- Terrain generation (Diamond Square and Perlin noise)


Terrains



I've implemented 2 different algorithms in order to generate terrains. The first one is Diamond square (on the right) and the other is based on Perlin noise (one the left).

Caustics



I'm generating caustic thanks to photon mapping. You can also see the normal mapping on the dielectric box, sphere and on the walls/ground/ceiling. The box and the sphere absorb the light when it goes throught. The box on the left side is textured with a diffuse map and a normal map.

Volumetric scattering



The box in this scene is textured with a negative texture wich make holes in it. You can see the volumetric scattering in this scene.

<3 <3 <3 <3

Model loading



I'm loading models with assimp. You can see the environement map in this scene and the terrain generation. The holes in the walls are made with negative texturing and there is some dielectrics in order to make windows.