Program Listing for File SkyBox.ixx#
↰ Return to documentation for file (Src/GraphicsEngineOpenGL/scene/sky_box/SkyBox.ixx)
module;
#include <glad/glad.h>
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <memory>
#include "host_device/GlobalValues.hpp"
export module kataglyphis.opengl.sky_box;
import kataglyphis.opengl.shader_program;
import kataglyphis.opengl.mesh;
export class SkyBox
{
public:
SkyBox();
SkyBox(const SkyBox &) = delete;
SkyBox &operator=(const SkyBox &) = delete;
SkyBox(SkyBox &&) = delete;
SkyBox &operator=(SkyBox &&) = delete;
void draw_sky_box(glm::mat4 projection_matrix,
glm::mat4 view_matrix,
GLuint window_width,
GLuint window_height,
GLfloat delta_time);
void reload();
~SkyBox();
private:
GLfloat movement_speed = 0.1f;
GLfloat shader_playback_time;
std::unique_ptr<Mesh> sky_mesh;
std::unique_ptr<ShaderProgram> shader_program;
GLuint texture_id{};
};