38 lines
668 B
C++
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
|