#ifndef RENDER_SKYBOX_H #define RENDER_SKYBOX_H /* Painted day/night sky with clouds, sun and moon (clouding over with the weather). Drawn after the solid things, before what floats in the air (rain, smoke). */ #include #include "core/gl.h" #include "render/camera.h" #include "render/renderer.h" typedef struct { GLuint vao; GLuint vbo; GLuint program; GLint u_view, u_projection, u_sky_time; GLint u_sun_dir, u_light_color, u_sky_top, u_sky_horizon, u_day_factor, u_overcast; } Skybox; bool Skybox_init(Skybox *sky); void Skybox_draw(const Skybox *sky, const Renderer *renderer, const Camera *camera, const Lighting *light); void Skybox_shutdown(Skybox *sky); #endif /* RENDER_SKYBOX_H */