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
 |
| 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 ....