1. A method comprising: distributing photons over a computer graphics scene comprising a plurality of triangles; and for a first triangle, constructing a list of photons that strike the first triangle; building a first kd-tree of photons for the first triangle; selecting at least one control point in the first triangle; computing a specific illumination estimate for each control point in the first triangle based on at least one photon in the kd-tree of photons; building a first kd-tree of control points distinct from the first kd-tree of photons for the first triangle; determining an illumination estimate for the first triangle based on at least one control point in the kd-tree of control points; and displaying the first triangle having the illumination estimate on an output device.