Weighting Paths in Light Tracing

Practical and theoretical implementation discussion.
Post Reply
Posts: 29
Joined: Sun Jul 28, 2013 6:53 pm

Weighting Paths in Light Tracing

Post by Geometrian » Wed Jul 09, 2014 5:24 pm


I have implemented a light tracer: random light paths are generated, and bounce around until they hit the camera lens, at which point they refract deterministically onto the image plane.

I do not know how to weight these paths properly. I understand that one should divide by the number of light paths traced, but what about the effect of image resolution? Anything else?

I found this recent thread, but there wasn't a complete answer. It looks like SmallVCM implements light tracing, and their light path weighting is done in vertexcm.hxx in the ConnectToCamera method (~line 863). What are they doing here?


Posts: 27
Joined: Mon Feb 10, 2014 7:48 am

Re: Weighting Paths in Light Tracing

Post by tarlack » Fri Jul 11, 2014 8:31 am

I'm not really sure about that one, but I'll take it intuitively : consider a sensor, whose total area does not change: if less pixels are present, then each pixel receives more energy. This is what happens naturally with light tracing when you simply divide by the number of samples, so you don't have to take the resolution into account. Only the sensor area should appear to maintain the coherency with the image obtained from the paths that leave from the eye: for each such path, its irradiance should be weighted by the pixel area to obtain energy. This is what is done implicitely when considering that the sensor is a grid located at a distance from the camera's aperture such that its area is 1m^2 large to capture the light field coming from the lens, and thus each pixel as an area = 1/nbpixels m^2.

Post Reply