Class page

Realistic Image Synthesis

Projects


Messing around


Posted: 12/13/06. Depth of field with adjoint photons. Noisy close to the camera, but this is with half an hour of rendering time, and already looks almost as good as the direct photon one, that took 20 hours.


Posted: 12/13/06. That extra divide was masking another bug - adjoint photons had their energies incorrectly scaled w.r.t. emittance. This would result in extra saturation. Now this is fixed, and I think this image converges to the direct photon tracing one. (By the way, Steve was also having this problem, so I guess that's still in the tradition of stumbling across all possible bugs.)


Posted: 12/13/06. This is the bug - these lights should have the same power, but I have an extra divide. So in the previous screenshot, one of the lights (the one that happened to be closest to the red sphere _and_ the camera, giving the appearance of no falloff) had a much bigger power than it should.


Posted: 12/13/06. Keeping with my tradition of reproducing other people's bugs, here's an adjoint tracing where I seem to have lost the lambertian cosine term. The right is what it should look like, the left is what it currently looks like.


Posted: 12/08/06: Blackbody spectra for emission, with temperatures ranging from 2000K to 8000K.


Posted: 12/08/06: Arbitrarily-shaped emitters. This is the first step towards bidirectional: emitters and sensors are now the same class. This is nice because shooting an adjoint photon will be essentially the same thing shooting a direct photon, The only changes being which importance sampling distributions are used.


Posted: 10/16/06: Debugging a structured light for debugging my lenses.


Posted: 10/16/06: Focusing lens. Also, so much for the "no more spurious bright pixels" theory :(.


Posted: 10/13/06: ~3 minutes of rendering on 8 processors. CSG working. Now it'll be easy (hopefully) to come up with the bispherical lenses.


Posted: 10/07/06: ~3 minutes of rendering, now importance sampling the objects as well. This behaves better than I expected (since the light has a mixture of 25 different distributions in the importance sampling). This scene was created by using Python as a scripting language. I use Boost.Python to create bindings for all objects, materials, lights, scenes, geometric objects, samplers, etc, and then I create the scene as a python program. The spheres were created by looping over all macbeth materials, and at each time adding a disk that covers the bounding box projection to the spherical light (above, not visible).


Posted: 10/07/06. Some 40 hours of total rendering time. This still does not importance sample the object but those shadows do look nice! An interesting artifact from importance sampling I have noticed is that the local image quality seems to be inversely proportional to the cosine of the object normal with the viewing direction. This is because these sensor areas get the same energy but more photons, and hence less variance. Too bad it seems hard to compensate for that (since that is a horrible-looking function as viewed from the photon emitter).


Posted: 10/06/06. Marginally better framing and focus. 3 hours so far, 8 processors.


Posted: 10/05/06. Triangle meshes. For this to look good, I need to change importance sampling so that the light importance samples both the mesh and the aperture. Also, the pinhole radius is too large, and the bunny is not framed right. This ran for 15 hours, on 4 processors.


Posted: 10/05/06. With importance sampling gotten right, this took roughly 3 hours, on 8 processors. Pinhole radius is 10^-3, which accounts for the nice sharp focus.


Posted: 10/05/06. There were still problems with importance sampling. (Read: hardcoding the wrong aperture radius :( This took 12 hours to render.)


Posted: 10/05/06. Yay for FP bugs in importance sampling.