add photon generator

next is yifeng's work