Implementing per-fragment directional light