Sunday, December 30, 2012

Converting Between Fisheye and Equirectangular

I used Photorealizer to convert some of my recent fisheye sky renders to equirectangular (latitude–longitude) format. To give Photorealizer the capability to do this, I copied the panoramic cameras from the sky renderer to Photorealizer, and gave Photorealizer the ability to use a high dynamic range fisheye image as an environment map. Then, to do the actual conversion, I simply set up an environment map using a sky renderer render, and rendered a picture of it using the equirectangular camera (an analogous process could be used to convert from equirectangular to fisheye).

I wanted to convert the fisheye images to equirectangular format because Photorealizer already supports importance sampling for equirectangular environment maps. I plan to use these images as light sources for Photorealizer renders, so being able to sample them efficiently—even when they contain the sun—is very important.

Alternatively, I could have used existing software to do the conversion, but I prefer to do things myself when possible. Or I could have re-rendered the sky images in equirectangular format, but that would have taken a long time. The way I did the conversion worked very well, and it let me add features to and make improvements to Photorealizer in the process.

Here are two sets of before and after images:

Before: sunrise / sunset fisheye render.

After: converted to equirectangular format using Photorealizer.

Before: twilight fisheye render.

After: converted to equirectangular format using Photorealizer.

I recently made some other relevant improvements to Photorealizer as well, which you can read about on my Photorealizer blog:

1 comment:

  1. How can I turn these images into fisheye?