Used a rough monte carlo trace to get grainy edges and implemented spotlights, fresnel, and adaptive termination.