Reflection, Shadow and Texture using OpenGL