added run time shader recompile, lighting finally behaving correctly