added prepass for forward rendering