fix GLuint to GLint in OpenGLShader
add earth sample
make the OpenGLRenderer more secure and flexible