Objectives: diffuse lighting shader, better texture loading and model loading