38 lines
668 B
C++

#ifndef SKYBOX_H
#define SKYBOX_H
#include "opengl.h"
#include <string>
class Camera;
class Shader;
class Texture;
class Skybox
{
static const GLfloat skyboxVertices[];
static const GLubyte skyboxIndices[];
int width;
int height;
float m_distance;
GLuint vao;
GLuint vbos[2];
GLuint viewLocation;
GLuint projectionLocation;
GLuint skyboxDistanceLocation;
GLuint cubemapLocation;
Shader* shader;
Texture* cubeMap;
public:
Skybox(Texture* myCubeMap, float distance = 100.f);
~Skybox();
void renderGL(Camera* myCamera);
void resizeGL(int w, int h) {width = w; height = h;}
};
#endif // SKYBOX_H