added preliminary indirect illumination function