Iman Sadeghi 's Homepage
Bi Direcional Path Tracing

Welcome to Mirage Homepage: My Global Illumination Renderer!

Introduction
In this page you can find all the information related to my Global Illumination Renderer Mirage. Mirage came to existence after I took
CSE 168 Rendering Algorithms course taught by Prof. Henrik Wann Jensen in April 2007. I rendered my grand prize winner image A Butterfly, A Water drop and A High Speed Camera! with Mirage v.1.0 in June 2007 at the end of the CSE168 class. I extended my project later mainly when I took CSE 272 Advanced Appearance Modeling course again by Prof. Henrik Wann Jensen from Nov 2007 to December 2007. After that I continued to improve it in my spare time and then in Spring 2008 I started working on Mirage specifically for the photo-realistic rendering of human hair. Still under Construction

Image Gallery
I Here you can find nice images that have been rendered with Mirage.


A Butterfly, A Water Drop & A High Speed Camera!
Rendering Competition 2007

 

Photorealistic Rendering of Hman Hair Fibers
Kajiya & Kay 1989 Marschner et al. 2003 Zinke et al. 2004
Rendering Hair


 
Morpho Butterfly

Bidirectional Pathtracing


Soap Bubble

 


Features and Updated
I will explain the features that have been added to different versions of Mirage over time.

Mirage v.4.0
1. Ambient Occlusion
2. Kajiya-Kay's hair shading model
3. Goldman's hair shading model
4. Kim's hair shading model
5. Marschner et al.'s hair shading model
6. Zinke's hair shading model
7. Multiple scattering for rendering blond hair
8. Stratified Sampling
9. Loading/Segmenting RiCurves
10. Line primitive added

Mirage v.3.0
1. Adding MultilayerThinFilm Material
2. Adding SeprateLamellae Material
3. Adding Morpho Material

Mirage v.2.5
1. Adding ANAGLYPHS
2. Adding CHROMADEPTH

Mirage v.2.0
1. Added BDPT with & without MIS, added Light Tracing (TOFIX)
2. Fixed 1/PIs all over code
3. Added Diffuse Light Material
4. Fixed the energy of lights: point light/ area light
5. Fixed PT

Mirage v.1.6
1. Added Phong and Bling-Phong Materials.
2. Removed useless header files independecies.
3. Fixed a bug in Converting XYZ to RGB: RGB=XYZ*M^-1 so RGB=M^-1T*XYZ

Mirage v.1.5
1. Added interference (irredecense) in ThinFilm.h and Bubble.h
2. Environment Map loading improved
2. Autostart rendering mode added
3. Disable Mouse in render mode
4. A bug fixed in Triangle::Intersection (SUM<epsilon : INVSUM=NaN)

Mirage v.1.1
1. Fixed Bug in normalizing the RefractDir in BSDF.cpp wich was resulting in NaN in EnvironmentMaps lookups!
2. Added Mouse Navigation to MIrageWindow.cpp
3. Took out the data/snapshots out of code directory!

Mirage v.1.0
First version is at the end of spring 2007 quarter after UCSD Rendering Competition 2007.
I rendered my grand prize winner image (http://cs.ucsd.edu/~isadeghi/RC2007/) with this version of Mirage.
I had added a lot of features to Miro base code including:
+ Depth of field
 + Photon mapping & caustics
+ Area lights & soft shadows
 + Bear Lambert law
 + Environment maps
 + Super-sampling & anti-aliasing
 + Bitmap/procedural textures
 + Bump maps
 + Montecarlo path-tracing
 + SSE-SIMD Support
 + ...

Mirage v.0.0
Miro Base Code

Honors and Main Projects
I will update the list of my projects which have been done using Mirage.

Acknowledgments
I want to thank ....