fragment light
lazy matrix calculation