GLuint create_program(const char *vertex_source, const char *fragment_source)
Create program object, attach vertex and fragment shader to it. Link program object and check whether...
const char * cloud_and_gloss_texture_file_path
const char earth_fragment_shader_source[]
struct texture_set_info texture_set_info
GLint get_and_check_attrib_location(GLuint program, const GLchar *attrib_name)
Invoke glGetAttribLocation(), if it has returned a positive value. Otherwise, print a message and exi...
GLuint load_shader(GLenum shader_type, const char *shader_source)
Create shader object and compile its source code.
GLuint earth_night_texture_id
GLuint earth_color_texture_id
const char * earth_color_texture_file_path
struct texture_set texture_set
const char * earth_night_texture_file_path
const char * compressed_texture_format_name
const GLenum compressed_data_internal_format
const char earth_vertex_shader_source[]
GLint get_and_check_uniform_location(GLuint program, const GLchar *uniform_name)
Invoke glGetUniformLocation, if it has returned a positive value. Otherwise, print a message and exit...
GLuint cloud_and_gloss_texture_id