#pragma once #include "Program.hpp" #include "../buffer/Vertex.hpp" namespace pass { /// Skybox pass class SkyProgram: public Program { public: SkyProgram(); ~SkyProgram(); void start(render::gl::Renderer *); buffer::params setup(); /// Direct draw using internal buffer void draw(render::gl::Renderer *); protected: std::string getName() const override; void setView(const GLfloat *matrix); void setProjection(const GLfloat *matrix); void bindTexture(const GLuint textureID); private: GLuint ViewMatrixID; GLuint ProjectionMatrixID; GLuint TextureID; buffer::Vertex CubeBuffer; }; }