implement several types of shading models using GLSL shading language